浏览器中的跳过服务器缓存功能

浏览器中的跳过服务器缓存功能

几年前,我曾使用Lynx(网络浏览器)。它有一个巧妙的功能:您可以正常地跟踪链接,也可以指定您想要非缓存的副本。常规链接加载或链接重新加载。作为Lynx 2.8.6 用户指南说:

NOCACHE('X' 或者 'X') 命令可以代替 ACTIVATE (返回或者右箭头)请求当前链接的未缓存副本和新版本,或重新提交表单(如果存在来自上一次请求或提交的缓存)。请求或提交将包括指令:无缓存缓存控制:无缓存在其标题中。请注意,无论使用 NOCACHE 还是 ACTIVATE 命令,包含 POST 内容的 FORM 都将重新提交。...

这似乎是一个显而易见的功能 — — 并且,正如所展示的,它存在于至少一个浏览器中 — — 令我惊讶的是,Firefox、Chrome 和 Microsoft 似乎没有这样的功能(例如,作为右键单击(或命令)菜单选项)。事实上,甚至似乎没有针对它的 Firefox 扩展。

所以,我的问题是:

  1. 是否有什么东西阻碍了这个想法在现代图形浏览器中的实现?不能尽管它可以存在于 Lynx 中,但它是否可以存在于它们中?
  2. 是否有某种原因导致现代图形浏览器不需要或不需要此功能?如果是,那么该原因是否适用于 Lynx?
  3. 正如我提到的,我找不到这样的 Firefox 或 Chrome 扩展程序(或内置功能)。是否存在我遗漏的扩展程序?

答案1

我的理解是,当您的浏览器发送资源请求时,会发生以下情况(大致):

  1. 浏览器发送资源请求
  2. 服务器响应上次修改资源的时间
  3. 如果该时间晚于浏览器已缓存的版本,则浏览器将再次下载该资源。

如果您想查看此过程(不太详细),请在 Chrome 中打开开发者面板(使用Ctrl++ ),然后重新加载页面。您将看到,即使对于已缓存的资源(在大小下,它会显示来自缓存) ShiftJ也有对它们的请求。

因为浏览器仅在需要时才会更新,所以通常不需要强制重新加载所有资源(例外情况是如果数据以某种方式损坏,则清除缓存可能会解决问题)。

总结一下,回答你的问题:

  1. 没有
  2. 它通常会造成伤害,并且很少有帮助(见上文)
  3. 我找不到,但如果您发现此行为导致错误,您可以手动清除缓存。

笔记:我不能 100% 确定第 1 项和第 2 项实际上是如何发生的,但完成这两件事的事情确实会发生,尽管实现方式可能不同。

答案2

至少在我知道的一些浏览器(IE,Firefox,Chrome,Epiphany)中,Shift按住“刷新”(或Shift“+ F5”)会强制浏览器忽略缓存并重新请求所有资源。

但是如果页面没有加载或者尚未加载,您就无法调用此选项。

相关内容