【问题标题】:Make my webpage non-cacheable使我的网页不可缓存
【发布时间】:2011-12-09 21:35:49
【问题描述】:

我一直在尝试使用 HTTP 元标记使我的网页不可缓存 这是我在 HTML 页面中编写的元标记。

meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"
meta http-equiv="Cache-control" content="no-cache"

当我通过wireshark 分析我的数据包时,我第一次收到HTTP 200 消息。 但是当我第二次提取页面时,它给了我一条 HTTP 304 消息,我认为这意味着该网页已被缓存。

谁能帮助我如何使我的网页不可缓存。

【问题讨论】:

    标签: apache html http-headers


    【解决方案1】:

    使用 .htaccess 文件。创建具有以下内容的 .htaccess 或将以下内容添加到现有 .htaccess 文件的末尾:

    <FilesMatch "\.(html|htm)$">
    FileETag None
    <IfModule mod_headers.c>
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
    </IfModule>
    </FilesMatch>
    

    【讨论】:

    • 我错过了问题中的“Apache”这个词吗?你在哪里看到的?
    • 嗨,我已经添加了您发送的代码。但它不起作用。对于您在上面发布的.htaccess,我需要在您的代码中编辑什么吗?请告诉我。或者我是否已将 /var/www 中的 .htaccess 的位置添加到任何 html 文件中?
    • 嗨 fyodor,它确实是 apache。
    【解决方案2】:

    在您的 &lt;HEAD&gt;&lt;/HEAD&gt; 部分试试这个:

    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    

    【讨论】:

    • 不工作,马修。我试过了。它仍然给出相同的结果。
    【解决方案3】:

    这些标签只影响浏览器的功能,而不影响服务器。

    为了控制服务器上的缓存,您应该配置您的 Web 服务器和/或您的 Web 应用程序,如果不知道它们是什么,我无法帮助您。

    【讨论】:

    • 嗨 Fyodor,它是一个 apache 网络服务器。我想要一个不可缓存的网页。这意味着无论我访问网页多少次,它都应该始终给我 200 状态。不是 304。
    猜你喜欢
    • 1970-01-01
    • 2010-12-31
    • 2012-09-19
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多