由于我目前正在开发一个网站,它必须能够在很多压力下完美地执行或从自动化测试场景切换,我会尝试简单的按住-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的错误?
答案 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。否则它很可能是一个错误。