Chr*_*ris 9 google-chrome java-ee browser-cache http-headers
我发送有效格式的HTTP响应"过期"标题(例如"Wed,04 May 2011 09:29:09 GMT"),页面通过https:// [host]:{port} /(与[host]一起发送) localhost)来自J2EE应用程序,使用response.setDateHeader("Expires", {milliseconds a few seconds in the future} )
.
在我的页面上,我有一个指向同一页面的链接.当我从Firefox(4)或IE(8)中单击此链接时,页面将从缓存重新加载,直到达到过期时间.通过过期时间后,单击同一链接会导致从服务器加载的页面包含新数据.如果我在上述任一浏览器中点击F5,页面将从服务器重新加载新数据(Firebug显示我Cache-Control: max-age=0
随请求一起发送).
使用谷歌浏览器,F5和点击链接都具有相同的效果.始终使用新数据从服务器重新加载页面.
我无法找到任何有关此效果的详细说明.
有没有人知道为什么在我的情况下谷歌Chrome不尊重服务器发送的"过期"标题与页面响应,因此总是从服务器请求数据?
chrome在这方面的工作方式会引起极大的混乱.似乎按F5或"重新加载此页面"只会阻止chrome从缓存中提供请求.这很容易与在url窗口中按Enter进行比较,它将使用缓存,即使在这两种情况下,请求标头(不会在任何地方发送)都具有Cache-Control:max-age = 0.
如果按ctrl + F5,则会获得Cache-Control:no-cache.我认为F5和ctrl + F5之间的区别在于两者都会导致请求被发送到服务器,但是在ctrl + F5情况下,服务器应该知道不响应未修改的304.
归档时间: |
|
查看次数: |
2232 次 |
最近记录: |