【问题标题】:Cache control using Meta Vs Headers使用 Meta Vs Headers 进行缓存控制
【发布时间】:2017-08-16 10:37:22
【问题描述】:

我没有控制网络服务器

所以为了避免缓存,我使用了这个
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">

但是,这似乎被服务器E-Tag 验证所覆盖。

响应标头

ETag:W/"149774-1502468306000" Expires:Thu, 16 Aug 2018 10:25:33 GMT Last-Modified:Fri, 11 Aug 2017 16:18:26 GMT

那么,他们有什么办法可以避免页面缓存在客户端上。我无法通过 Web 服务器访问来更改标头策略。

【问题讨论】:

    标签: http caching http-headers meta


    【解决方案1】:

    到目前为止,如果不访问 Web 服务器,就无法更改缓存行为。

    1. 根据MDN DocHTML5 Doc,“meta http-equiv”没有值“Cache-Control”

    2. “meta http-equiv”是一个奇怪的属性

      MDN 文档说:

      可以改变服务器和用户代理的行为。

      HTML4 文档说

      HTTP 服务器使用此属性来收集 HTTP 响应消息标头的信息。

      HTML5文档说

      它是一个枚举属性...列出了为此属性定义的关键字

      http-equiv="refresh"这样的关键字可以在客户端使用。

    我认为这是一个糟糕的 html 设计,它想使用 HTTP 但未完成。

    【讨论】:

    • 您确定meta http-equiv 是用于服务器而不是用于客户端吗?我找不到任何可以证实这一点的来源。我也不确定,直到现在我还在考虑它的客户端浏览器。
    • 对不起,我被误导了。 MDN 说“http-equiv 可以改变服务器和用户代理的行为”。我们不能告诉客户端或服务器的 http-equiv="Cache-Control" 工作
    • 我的观点2是对的,因为http-equiv不包含“Cache-Control”选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2012-12-04
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多