HTTP 响应头中的 Cache-Control 和 Expires 分别用于设置什么类型的缓存策略?
约 513 字大约 2 分钟
2025-03-15
Cache-Control 和 Expires 是用于设置强缓存的缓存策略。
1、Cache-Control:
Cache-Control 是一个用于指定缓存行为的响应头字段。它可以通过设置不同的指令来控制缓存的行为。
- max-age=:指定资源在缓存中的最大有效时间,单位为秒。例如,
Cache-Control: max-age=3600
表示资源在缓存中有效一小时。 - no-cache:表示每次请求都要与服务器进行验证,不能直接使用缓存。
- no-store:表示不缓存任何请求或响应的内容。
- public:表示响应可以被任何缓存(包括客户端和中间代理服务器)缓存。
- private:表示响应只能被客户端缓存,中间代理服务器不应该缓存响应。
这些指令可以单独使用或者组合使用,以定义缓存的行为。通过 Cache-Control,开发者可以灵活地控制缓存的有效期、缓存级别和缓存的访问权限。
2、Expires
Expires 是一个响应头字段,用于指定资源的过期时间,是一个具体的日期时间。浏览器在接收到带有 Expires 响应头的资源时,会将资源缓存在本地,并在过期时间之前直接使用缓存。
例如,Expires: Wed, 21 Oct 2023 07:28:00 GMT
表示资源在 2023 年 10 月 21 日 07:28:00 GMT 之前有效。
Cache-Control 是 HTTP/1.1 的标准字段,而 Expires 是 HTTP/1.0 的字段。Cache-Control 提供了更多的缓存控制选项,更为灵活,并且在功能上覆盖了 Expires 的功能。因此,在支持 HTTP/1.1 的情况下,建议优先使用 Cache-Control 来设置缓存策略。
同时,需要注意的是,如果同时使用了 Cache-Control 和 Expires,Cache-Control 的优先级更高。因为 Cache-Control 是比 Expires 更新的规范,并且提供了更多的缓存控制选项。
更新日志
2025/8/24 08:17
查看所有更新日志
e7112
-1于