繁体   English   中英

缓存控制标头不执行 JOB

[英]Cache Control headers not doing the JOB

我已经尝试了我在互联网上可以找到的所有标题,以便我的网页不存储缓存,但它不起作用。 我已经尝试过所有你能找到的 php 标头和 HTML 元标记。

只有在网络选项卡下勾选“禁用缓存”时,我的网页才能顺利运行。

当我查看开发工具下的缓存存储时,没有数据。 所以我认为标题实际上正在工作,但是当我手动清除浏览器中的缓存或勾选禁用缓存时,数据会更新。

我认为我不必在服务器端做任何事情,因为当在浏览器上按下清除缓存时,一切运行正常。

注意:我已经尝试了堆栈溢出的所有解决方案。

这是我尝试的最后一个

<?php

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

什么是缓存?

Cache-Control 是一个 HTTP 缓存 header,它可以让您的网站更快,而且它可以在使用私人信息时帮助您的网站!!!

如何查看我的网站是否正在缓存?

检查元素 -> 网络 -> 单击图像/文件 -> 响应 Header -> 缓存控制

设置缓存

对于 Php

<?php
header('Cache-Control: max-age=86400');
?>

对于 Apache

<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
    Header set Cache-Control "max-age=84600, public"
</filesMatch>

nginx

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires 2d;
    add_header Cache-Control "public, no-transform";
}

我不想要缓存

在这种情况下,您需要使用:

<?php
header('Cache-Control: no-cache,no-store,must-revalidate');
header('Pragma: no-cache')
?>

如果您没有看到此生效,请先尝试在其他浏览器上使用它或删除缓存

使用元标签

<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

检查我的网站是否被缓存

#1 - 被缓存缓存的网站 #2 - 未缓存一个没有缓存的网站

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM