【发布时间】:2009-04-09 13:34:12
【问题描述】:
我有一个很奇怪的问题。我的应用程序堆栈基于 J2EE,并使用 Spring 2.5.6 和 Spring webflow 2.0.6。应用服务器是 Weblogic 9.2,前面有一个 Apache 服务器(负载平衡)。我们使用 SiteMinder Webagent 作为 apache 中的身份验证层。
下面的问题可能是由上面的任何层引起的 -
我们的网站性能非常缓慢,原因是某些 javascript 和 css 文件没有被缓存。我们知道 Siteminder 会去除 If-Modified 标头,因此我们启用了 IgnoreExt 参数(在 WebAgent 中)以将 .js 和 .css 扩展名添加到现有的未受保护文件类型列表(没有缓存此 JS 或 CSS 文件)。现在的问题是我只看到 2 个文件没有被缓存(即服务器没有返回 304),原因是响应标头已损坏。服务器确实返回 304,但标头中有一些垃圾文本,因此客户端无法决定从哪里获取内容。它看起来像这样 -
alt text http://img187.imageshack.us/img187/2358/dojo.gif
alt text http://img246.imageshack.us/img246/2087/tundra.gif
现在这可能是 2 个文件(Spring Webflow 的一部分)或 Apache 中的配置与 SiteMinder 或其他东西的已知问题。有人遇到过这个吗?知道从哪里开始寻找吗?
【问题讨论】:
-
我建议您通过删除一些组件来缩小问题范围,直到找到有问题的组件(例如:siteminder、apache)。
标签: apache spring caching http-headers