【问题标题】:Disable cache on specific domains?在特定域上禁用缓存?
【发布时间】:2021-03-06 20:12:17
【问题描述】:

有没有为特定域禁用缓存的好方法?例如,每当我开始构建一个新网站时,我可以只阻止该域进行缓存吗?我希望互联网的其余部分可以缓存。

我目前正在使用 Firefox Web Developer Toolbar 插件来禁用缓存,有没有更好的插件?

【问题讨论】:

  • 您需要修改插件的源代码才能做到这一点; IIRC Web Developer Toolbar 要么禁用所有缓存,要么不干扰它。
  • 附加组件不能覆盖网页的缓存设置,只能全局禁用缓存。所以@Spliffster 是正确的,网页需要发送正确的标题,这是唯一的方法。也许在稍后关闭的某种“调试模式”中这样做。

标签: firefox-addon


【解决方案1】:

内置的 Firefox 开发者工具具有禁用该工具箱打开的选项卡缓存的功能。

禁用缓存:禁用浏览器缓存以模拟首次加载性能。从 Firefox 33 开始,此设置仍然存在,这意味着如果设置了它,则无论何时重新打开开发工具,缓存都将被禁用。关闭 devtools 时会重新启用缓存。

https://developer.mozilla.org/en-US/docs/Tools/Tools_Toolbox

不幸的是,它不是按域进行的,但也许这比 Web Developer Toolbar 更好。

【讨论】:

    【解决方案2】:

    您可以从您的 Web 应用程序发送特定的标头以防止浏览器缓存。您可以仅将这些标头发送到您的 ip 或设置了特定 cookie 的浏览器。

    返回这些标头以防止浏览器缓存您的内容:

    Cache-Control: no-cache, must-revalidate
    Expires: Sat, 26 Jul 1997 05:00:00 GMT
    

    Expires 应该是过去的日期。

    【讨论】:

      【解决方案3】:

      Charles Web Debugging Proxy 是禁用特定域缓存的好方法。只需转到“工具”菜单,然后选择“无缓存”。将打开一个窗口,让您指定要阻止缓存的位置。

      Charles 是一个代理,因此您可以使用它来控制所有网络浏览器中的缓存 - Firefox、Chrome、IE,无论您使用什么!

      【讨论】:

        【解决方案4】:

        我通常使用允许从/static/directory/file.js 提供/static/${NUMBERS}/directory/file.js 的重写规则。大文件分开处理(mp4、zip...)。使用 PHP,我将 ${NUMBERS} 设置为 UNIX_TIMESTAMP 用于开发,并将 VERSION_NUMBER 设置为生产。现在开发总是被下载,但 cdnjs 几乎从不下载。

        【讨论】:

        • 在 php 中你可以使用类似:/static/directory/file.js?v=<?php echo filemtime('/static/directory/file.js'); ?>.
        猜你喜欢
        • 2015-04-22
        • 1970-01-01
        • 2015-07-07
        • 1970-01-01
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 2015-04-01
        • 2019-11-21
        相关资源
        最近更新 更多