Chrome中的“正常重新加载”、“硬重新加载”和“空缓存和硬重新加载”有什么区别?

jhkqcmku  于 2023-09-28  发布在  Go
关注(0)|答案(4)|浏览(202)

我最近在Chrome中发现了这个新功能:

我可以找出选项1和选项3之间的区别,而选项2可能介于两者之间,但我在任何地方都找不到更精确的信息。
有谁知道这三个选项的确切行为吗?

csga3l58

csga3l581#

正常重载

就像按F5一样。这将使用该高速缓存,但在页面加载过程中重新验证所有内容,寻找“304 Not Modified”响应。如果浏览器可以避免重新下载缓存的JavaScript文件、图像、文本文件等。那它就会

硬重载

请求时不要使用该高速缓存中的任何内容。(等于SHIFT+F5不需要打开开发者控制台)强制浏览器重新下载每个JavaScript文件,图像,文本文件等。

清空缓存和硬盘

显然,如果该高速缓存是空的,那么它将不得不进行硬重载。这将再次迫使浏览器重新下载所有内容。但是,如果页面通过JavaScript进行了任何不属于页面加载的事后下载,那么这些下载可能仍然会使用该高速缓存,这就是清空缓存的帮助,因为它可以确保即使这些下载也不会使用缓存文件。

注意:此功能仅在开发者工具打开时可用。

voj3qocg

voj3qocg2#

这也适用于Mac OS X。打开开发人员工具,然后在重新加载按钮上,选择1.二次点击(对于右手鼠标右键点击),或2.长按,也就是长按查看菜单。
除了this answer之外,硬重载经常会导致代理、内容分发网络和其他远程缓存被刷新。

jjhzyzn0

jjhzyzn03#

以下方法允许您仅为出现问题的URL清除缓存。当我被HTTP到HTTPS重定向缓存卡住时,它帮助了我。
1.打开Chrome developer tools,in Windows I use F12
1.选中Preserve log以在重定向之前保存日志
1.右键单击重定向的URL和Clear browser cache
这将只清除有问题的缓存,而不影响正常缓存。

kg7wmglp

kg7wmglp4#

这里是一个规范的参考-浏览器在触发重新加载时执行以下操作之一:
“正常重新加载”执行“特定端到端重新验证”或“未指定端到端重新验证”,如HTTP规范所定义,即使用缓存,但会使用缓存验证条件('specific')或none('unspecified')进行重新验证。在这两种情况下,由于浏览器将max-age标头设置为0,因此会进行重新验证。
另一方面,“硬重新加载”似乎会触发“端到端重新加载”-不允许使用缓存副本。在这种情况下,浏览器设置Pragma: no-cache强制重新加载。

相关问题