php​设置 HTTP 缓存头

云游道人 2025-10-15 24 阅读 0评论


设置 HTTP 缓存头

2. 适用于不同资源的缓存策略

(1) 长期缓存的静态资源(JS/CSS/图片)

// 适用于带哈希的文件名(如 style.a1b2c3.css) header("Cache-Control: public, max-age=31536000, immutable"); // 缓存 1 年

(2) 动态内容(HTML/API 响应)

// 禁止缓存(如用户个人数据) header("Cache-Control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache"); header("Expires: 0");


  • public:允许代理服务器(如 CDN)缓存资源。

  • max-age=360000:缓存 100 小时(≈4.17 天)。

  • immutable(可选):告诉浏览器资源不会变,避免重新验证(适用于哈希命名的文件)。

最佳实践总结

资源类型推荐 Cache-Control 设置
静态资源(JS/CSS/图片)public, max-age=31536000, immutable
HTML 文件no-cache, must-revalidate
API 响应(动态数据)no-store, no-cache, must-revalidate

最终优化后的 PHP 代码

// 静态资源(如 style.a1b2c3.css) ---- 缓存 1 年 header("Cache-Control: public, max-age=31536000, immutable");

// 旧版 HTTP/1.0 缓存头(与 Cache-Control 共存) header("Expires: " . gmdate("D, d M Y H:i:s", time() + 31536000) . " GMT"); // 动态内容(如 index.php) header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");

喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 24人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表