谷歌浏览器;刷新不发送If-Modified-Since标头

时间:2009-10-23 06:01:04

标签: internet-explorer google-chrome http-headers http-status-codes

由于我目前正在开发一个网站,它必须能够在很多压力下完美地执行或从自动化测试场景切换,我会尝试简单的按住-F5-for-several -seconds-in-my-favorite-browser,在这里我发现谷歌Chrome有一个奇怪的观察结果:

如果您执行上述操作,Chrome会跳过发送If-Modified-Since标头,并强制网络服务器获取您要显示的页面,从而产生状态代码200而不是预期的304。

在IE8(也可能是早期版本)中,此问题存在。

尝试这个简单的页面:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html,然后与Fiddler密切调查页面;奇怪?

我的问题是;这是设计,还是Google的错误?

2 个答案:

答案 0 :(得分:2)

这可能是一个设计问题。刷新时,浏览器通常会发送不同的请求;例如,尝试在IE中按CTRL + F5,您应该看到IE然后发出无条件的HTTP请求。

您是否在回复中发送了正确的HTTP缓存指令,以便无需验证其新鲜度? http://www.fiddler2.com/redir/?id=httpperf

答案 1 :(得分:0)

你在做Shift-F5还是Ctrl-F5?如果是这样,它将显示为that is by design。否则它很可能是一个错误。