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 天。

  • 切勿将有效期设置得太高。

  • 动态内容应仅缓存几个小时。

Cache-Control 的最佳实践