sea*_*ean 41 caching google-chrome no-cache
我们在使用Chrome缓存Glassfish服务器上的资源时出现问题.即使存在Last-Modified标头,Chrome也不会发送过期和无缓存标头,并且资源(大约4 MB SWF文件)正在被缓存.
有时Chrome会获得304代码,有时它只会获得200代码(来自缓存).我了解304 - Chrome可能会使用缓存版本来确定最近的Last-Modified日期.但有时它会执行200(来自缓存),它不返回任何标题信息,并且看起来Chrome只是假设文件未被修改而不是检查.
谷歌自己的网站声明如下:
HTTP/S支持浏览器对静态资源的本地缓存.一些最新的浏览器(例如IE 7,Chrome)使用启发式方法来决定缓存没有显式缓存头的所有资源的时间.
但这并没有提供明确的答案.这个启发式发布在任何地方吗?我意识到可能没有一个固定的答案(如30天),但一些通用指南会很有用.此外,如果设置了Last-Modified,我不明白为什么Chrome没有先烦回来检查.
Jon*_*Jon 12
浏览器认为缓存响应的时间通常与上次修改时相关:
由于源服务器并不总是提供明确的到期时间,因此缓存可以在未指定显式时间时指定启发式到期时间,使用使用其他头字段值的算法(例如Last-Modified时间)...如果响应具有Last-Modified头字段([RFC7232]的第2.2节),鼓励缓存使用启发式到期值,该值不超过自那时起的间隔的某个部分.此分数的典型设置可能是10%.[ https://tools.ietf.org/html/rfc7234#section-4.2.2]
有关Chrome(和其他浏览器)如何计算该值的详细信息,请参阅源代码(Chrome v49中的示例).看起来Chrome还会计算相对于Last-Modified标头的值.
(感谢这篇文章)
Zac*_*ber 11
DEFAULT_CACHE_TIME = 300
我通过在http://code.google.com/p/chromium/source/search?q=DEFAULT_CACHE_TIME&origq=DEFAULT_CACHE_TIME&btnG=Search+Trunk上搜索"DEFAULT_CACHE_TIME" 找到了上述内容.
有一个名为"chromeextensionsdocs.py"的文件,其中包含DEFAULT_CACHE_TIME.
我相信这是秒,基于http://code.google.com/appengine/docs/python/memcache/overview.html上提供的示例.
在"chromeextensionsdocs.py"中,DEFAULT_CACHE_TIME作为最后一个参数发送memcache.add
我不完全确定这是否是正确的值,但似乎很可能是将这些碎片组合在一起.
| 归档时间: |
|
| 查看次数: |
36346 次 |
| 最近记录: |