2

由于我目前正在开发一个网站,该网站必须能够在很大的压力下或多或少地完美执行并从自动化测试场景切换,我会尝试简单的按住 F5 几秒钟 -在我最喜欢的浏览器中,在这里我发现了谷歌浏览器的一个奇怪的观察结果:

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

在 IE8(可能还有更早的版本)中,存在此问题。

试试这个简单的页面:http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ,然后用 Fiddler 仔细研究这个页面;奇怪吧?

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

4

2 回答 2

2

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

您是否在响应中发送了正确的 HTTP 缓存指令,从而无需验证它们的新鲜度? http://www.fiddler2.com/redir/?id=httpperf

于 2009-10-24T19:01:10.350 回答
0

你在做 Shift-F5 还是 Ctrl-F5?如果是这样,那似乎是设计使然。否则它很可能是一个错误。

于 2009-10-24T19:03:21.983 回答