我最近在Chrome中发现了这项新功能:
我可以弄清楚选项1和选项3之间的区别,而选项2可能介于两者之间,但我无法在任何地方找到更精确的信息。
有人知道3个选项中每个选项的确切行为吗?
答案 0 :(得分:405)
与按 F5 相同。这将使用缓存,但在页面加载期间重新验证所有内容,查找“304 Not Modified”响应。如果浏览器可以避免重新下载缓存的JavaScript文件,图像,文本文件等,那么它就会。
发出请求时,请勿在缓存中使用任何内容。 (等于 SHIFT + F5 无需打开开发者控制台)强制浏览器重新下载每个JavaScript文件,图像,文本文件等。
显然,如果缓存为空,则必须进行硬重载。这将再次迫使浏览器重新下载所有内容。但是,如果页面通过JavaScript进行任何不属于页面加载的事后下载,那么这些可能仍然使用缓存,这是清空缓存的帮助,因为它确保即使这些也不会使用缓存文件。
注意:此功能仅在开发人员工具处于打开状态时可用。
答案 1 :(得分:3)
这也适用于Mac OS X.打开开发人员工具,然后在重新加载按钮上 1.二次点击(右键单击右手鼠标),或 2.长按,即长按 看菜单。
除了this answer之外,硬重新加载通常会导致代理,内容传送网络和其他远程缓存被刷新。
答案 2 :(得分:0)
以下方法使您仅清除故障URL的缓存。当我停留在http到https重定向缓存中时,它对我有所帮助。
F12
Preserve log
以保存日志Clear browser cache
这将仅清除有问题的缓存,而不会影响正常的缓存。
答案 3 :(得分:0)
这是对规范的引用 - 浏览器在触发重新加载时执行以下操作之一:
“正常重新加载”执行 HTTP spec 定义的“特定端到端重新验证”或“未指定端到端重新验证”,即使用缓存,但会发生重新验证,使用缓存验证条件(“特定”)或无(“未指定”)。在这两种情况下,都会发生重新验证,因为浏览器将 max-age
标头设置为 0。
另一方面,“硬重新加载”似乎会触发“端到端重新加载”——不允许使用缓存副本。在这种情况下,浏览器设置 Pragma: no-cache
会强制重新加载。