Cache-Control 是一个 HTTP 头,用于控制浏览器和其他中间缓存如何缓存和重新使用已缓存的响应。它可以在请求头或响应头中设置。
Cache-Control 的值是一组由逗号分隔的指令,常见的指令有:
1.public:响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存。
2.private:响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存和重用)。
3.no-cache:缓存必须在向原始服务器进行确认后,才能使用该响应进行后续请求的回答。这允许作者改变一个已发布的对象,然后让缓存更新其缓存的副本。
4.no-store:绝对禁止缓存。
5.max-age=:设置缓存存储的最大周期。超过这个时间缓存被认为过期(单位秒)。
例如,如果你想设置一个资源被缓存 1 小时,你可以这样设置:
Cache-Control: max-age=3600
如果你想设置一个资源不被缓存,你可以这样设置:
Cache-Control: no-store
Cache-Control 提供了比 Expires 更精确和灵活的缓存控制方式。