浏览器是否忽略html / php缓存头?

时间:2019-11-25 14:33:19

标签: php caching browser browser-cache cache-control

我对缓存头感到困惑。 我试图使浏览器缓存我的php / html页面,因为它们大部分是静态的,并且一个月左右都不会改变。

URL看起来像:example.com/article-url,并且在后台是一个PHP页面,例如/article_url.php

我在PHP中尝试过此操作

$cache_seconds = 60*60*24*30;
header("Expires: ".gmdate('D, d M Y H:i:s \G\M\T', time()+$cache_seconds));
header("Cache-Control:public, max-age=".$cache_seconds); 

在浏览器调试窗口中,我可以看到该页面实际上将在下个月过期:

Request URL: https://www.example.com/article-url
Request Method: GET
Status Code: 200 
Referrer Policy: no-referrer-when-downgrade
cache-control: public, max-age=2592000
content-encoding: gzip
content-length: 2352
content-type: text/html
date: Mon, 25 Nov 2019 14:23:40 GMT
expires: Wed, 25 Dec 2019 14:23:40 GMT
server: nginx
status: 200
vary: Accept-Encoding

但是,如果我再次访问该页面,我会看到它再次生成,并使其在页脚中打印了请求时间戳,并且我可以看到在每次加载页面时再次生成该页面。 我期望浏览器从缓存中显示完全相同的页面。 我在做什么错了?

0 个答案:

没有答案