我最近在Chrome中发现了这个新功能:
我可以找出选项1和选项3之间的区别,而选项2可能介于两者之间,但我在任何地方都找不到更精确的信息。有谁知道这三个选项的确切行为吗?
csga3l581#
就像按F5一样。这将使用该高速缓存,但在页面加载过程中重新验证所有内容,寻找“304 Not Modified”响应。如果浏览器可以避免重新下载缓存的JavaScript文件、图像、文本文件等。那它就会
请求时不要使用该高速缓存中的任何内容。(等于SHIFT+F5不需要打开开发者控制台)强制浏览器重新下载每个JavaScript文件,图像,文本文件等。
显然,如果该高速缓存是空的,那么它将不得不进行硬重载。这将再次迫使浏览器重新下载所有内容。但是,如果页面通过JavaScript进行了任何不属于页面加载的事后下载,那么这些下载可能仍然会使用该高速缓存,这就是清空缓存的帮助,因为它可以确保即使这些下载也不会使用缓存文件。
注意:此功能仅在开发者工具打开时可用。
voj3qocg2#
这也适用于Mac OS X。打开开发人员工具,然后在重新加载按钮上,选择1.二次点击(对于右手鼠标右键点击),或2.长按,也就是长按查看菜单。除了this answer之外,硬重载经常会导致代理、内容分发网络和其他远程缓存被刷新。
jjhzyzn03#
以下方法允许您仅为出现问题的URL清除缓存。当我被HTTP到HTTPS重定向缓存卡住时,它帮助了我。1.打开Chrome developer tools,in Windows I use F121.选中Preserve log以在重定向之前保存日志1.右键单击重定向的URL和Clear browser cache这将只清除有问题的缓存,而不影响正常缓存。
F12
Preserve log
Clear browser cache
kg7wmglp4#
这里是一个规范的参考-浏览器在触发重新加载时执行以下操作之一:“正常重新加载”执行“特定端到端重新验证”或“未指定端到端重新验证”,如HTTP规范所定义,即使用缓存,但会使用缓存验证条件('specific')或none('unspecified')进行重新验证。在这两种情况下,由于浏览器将max-age标头设置为0,因此会进行重新验证。另一方面,“硬重新加载”似乎会触发“端到端重新加载”-不允许使用缓存副本。在这种情况下,浏览器设置Pragma: no-cache强制重新加载。
max-age
Pragma: no-cache
4条答案
按热度按时间csga3l581#
正常重载
就像按F5一样。这将使用该高速缓存,但在页面加载过程中重新验证所有内容,寻找“304 Not Modified”响应。如果浏览器可以避免重新下载缓存的JavaScript文件、图像、文本文件等。那它就会
硬重载
请求时不要使用该高速缓存中的任何内容。(等于SHIFT+F5不需要打开开发者控制台)强制浏览器重新下载每个JavaScript文件,图像,文本文件等。
清空缓存和硬盘
显然,如果该高速缓存是空的,那么它将不得不进行硬重载。这将再次迫使浏览器重新下载所有内容。但是,如果页面通过JavaScript进行了任何不属于页面加载的事后下载,那么这些下载可能仍然会使用该高速缓存,这就是清空缓存的帮助,因为它可以确保即使这些下载也不会使用缓存文件。
注意:此功能仅在开发者工具打开时可用。
voj3qocg2#
这也适用于Mac OS X。打开开发人员工具,然后在重新加载按钮上,选择1.二次点击(对于右手鼠标右键点击),或2.长按,也就是长按查看菜单。
除了this answer之外,硬重载经常会导致代理、内容分发网络和其他远程缓存被刷新。
jjhzyzn03#
以下方法允许您仅为出现问题的URL清除缓存。当我被HTTP到HTTPS重定向缓存卡住时,它帮助了我。
1.打开Chrome developer tools,in Windows I use
F12
1.选中
Preserve log
以在重定向之前保存日志1.右键单击重定向的URL和
Clear browser cache
这将只清除有问题的缓存,而不影响正常缓存。
kg7wmglp4#
这里是一个规范的参考-浏览器在触发重新加载时执行以下操作之一:
“正常重新加载”执行“特定端到端重新验证”或“未指定端到端重新验证”,如HTTP规范所定义,即使用缓存,但会使用缓存验证条件('specific')或none('unspecified')进行重新验证。在这两种情况下,由于浏览器将
max-age
标头设置为0,因此会进行重新验证。另一方面,“硬重新加载”似乎会触发“端到端重新加载”-不允许使用缓存副本。在这种情况下,浏览器设置
Pragma: no-cache
强制重新加载。