首页 > 技术文章 > HTTP响应头缓存控制

koboshi 2014-11-02 16:21 原文

在一般Web开发中,有时需要设置特殊的HTTP响应头阻止客户端(一般是浏览器)缓存(使用)该次请求的响应。

这时候大部分开发人员都是百度或谷歌几段代码复制粘贴即了事。

以下简述一下关于缓存控制的几种HTTP响应头的实际作用。

 1 //禁止客户端对该次响应的内容复制至缓存区域
 2 header('Cache-Control: no-store');
 3 
 4 //客户端下一次请求进行缓存有效度验证时,不使用该次的相应结果
 5 header('Cache-Control: no-cache');
 6 
 7 //设置缓存有效期是0,客户端下一次请求不使用缓存
 8 header('Cache-Control: max-age=0');
 9 
10 //客户端下一次请求时,必须对缓存有效性进行重新验证再使用
11 header('Cache-Control: must-revalidate');

注意:

Expires: xxxxx 这种格式的响应头也是可以使用的,但不推荐,因为值为实际过期时间而非剩余时间,但客户端与服务器的时间并不一定一致。

推荐阅读