RESTful Web 服务 - 缓存
缓存是指将服务器响应存储在客户端本身中,这样客户端就不需要一次又一次地向服务器请求相同的资源。服务器响应应该包含有关如何进行缓存的信息,以便客户端将响应缓存一段时间或从不缓存服务器响应。
以下是服务器响应可以具有的标头,以便配置客户端的缓存 -
先生。 | 标题和描述 |
---|---|
1 |
日期 资源创建时的日期和时间。 |
2 |
上一次更改 上次修改资源时的日期和时间。 |
3 |
缓存控制 用于控制缓存的主标头。 |
4 |
过期 缓存的到期日期和时间。 |
5 |
年龄 从服务器获取资源以来的持续时间(以秒为单位)。 |
缓存控制头
以下是 Cache-Control 标头的详细信息 -
先生。 | 指令和说明 |
---|---|
1 |
民众 指示资源可由任何组件缓存。 |
2 |
私人的 表示资源只能由客户端和服务器缓存,没有中介可以缓存该资源。 |
3 |
无缓存/无存储 指示资源不可缓存。 |
4 |
最大年龄 指示缓存在 max-age 以内有效(以秒为单位)。此后,客户必须提出另一个请求。 |
5 |
必须重新验证 如果 max-age 已过,则指示服务器重新验证资源。 |
最佳实践
始终保持图像、CSS、JavaScript 等静态内容可缓存,过期日期为 2 到 3 天。
切勿将有效期设置得太高。
动态内容应仅缓存几个小时。