【问题标题】:Same resource request from IE gets HTTP 200 instead of HTTP 304来自 IE 的相同资源请求获得 HTTP 200 而不是 HTTP 304
【发布时间】:2015-02-03 03:46:41
【问题描述】:

我有一个 Web 应用程序在事务期间多次请求相同的资源。我看到应用程序正在从服务器获得 HTTP 200 响应,它应该获得 HTTP 304。我已经看到提琴手报告,他们确实在请求中有 If-Modified-Since 标头。然而,服务器每次都发送内容,而不仅仅是 304,这会造成相当大的开销。我在之前的部署中没有遇到此问题。

我将 IBM WebSphere 应用程序服务器与 IBM HTTP Server 一起使用。我已经尝试更改我的 IE 设置,它似乎没有任何会强制这种行为。

这里有什么提示吗?

【问题讨论】:

  • 它是由 IHS 提供的静态文件吗?它是由 WAS 提供的静态文件吗?是否启用了 WAS 插件 ESI 缓存?它是由 WAS 提供的动态 URL 吗?
  • 这些文件是由 WAS 提供的静态文件。 IHS 在 WAS 上运行。 WAS 插件 ESI 缓存已启用。它不是动态 URL。

标签: internet-explorer caching websphere ibmhttpserver


【解决方案1】:

Fiddler 跟踪“RAW”格式对请求和响应标头显示什么? 可能还有其他标题影响,例如:

Cache_Control:
Pragma: 

或其他阻止缓存或触发重新验证需要的标头。

设置

LogLevel="Trace" 

在 IHS 网络服务器上的 WAS 插件模块的plugin-cfg.xml 中也很好地捕获了 HTTP 标头。

一旦您在插件日志(http_plugin.log 默认或plugin-cfg.xml 中定义)中找到请求的进程/线程 ID(就在时间戳之后),您就可以看到发送的请求和响应标头。

此外,了解您的 IHS、插件和 WAS 的确切版本以用于以前的工作部署以及新的非工作设置会很有帮助。较新版本的 IE 浏览器或其他品牌的浏览器(例如 FirefoxChrome)是否会出现这种情况?如果它与所有浏览器一致或与使用的浏览器类型/版本相关,这将有助于隔离。

【讨论】:

    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    • 2017-04-04
    • 2014-12-22
    相关资源
    最近更新 更多