RESTful Web 服务 - 缓存
缓存指的是将服务器响应存储在客户端本身,这样客户端就不需要反复向服务器请求相同的资源。服务器响应应该包含有关如何执行缓存的信息,以便客户端可以缓存响应一段时间或永远不缓存服务器响应。
以下是服务器响应中可以包含的用于配置客户端缓存的标头:
| 序号 | 标头及描述 |
|---|---|
1 |
Date 资源创建的日期和时间。 |
2 |
Last Modified 资源上次修改的日期和时间。 |
3 |
Cache-Control 控制缓存的主要标头。 |
4 |
Expires 缓存的过期日期和时间。 |
5 |
Age 从服务器获取资源开始算起的持续时间(以秒为单位)。 |
Cache-Control 标头
以下是 Cache-Control 标头的详细信息:
| 序号 | 指令及描述 |
|---|---|
1 |
Public 指示任何组件都可以缓存资源。 |
2 |
Private 指示只有客户端和服务器可以缓存资源,任何中间代理都不能缓存资源。 |
3 |
no-cache/no-store 指示资源不可缓存。 |
4 |
max-age 指示缓存有效期最长为 max-age 秒。之后,客户端必须发出另一个请求。 |
5 |
must-revalidate 指示服务器在 max-age 过期后重新验证资源。 |
最佳实践
始终使静态内容(如图像、CSS、JavaScript)可缓存,并设置 2 到 3 天的过期日期。
不要设置过高的过期日期。
动态内容应仅缓存几个小时。
广告