RESTful Web 服务 - 缓存
缓存是指将服务器响应存储在客户端本身中,这样客户端就不必一次又一次地向服务器发出对同一资源的请求。服务器响应应该包含有关如何进行缓存的信息,以便客户端在一段时间内缓存响应或从不缓存服务器响应。
以下是服务器响应可以具有的标头,以便配置客户端的缓存 −
Sr.No. | 标头 &描述 |
---|---|
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 天。
切勿将有效期设置得太高。
动态内容应仅缓存几个小时。