RESTful Web 服务 - 缓存


缓存是指将服务器响应存储在客户端本身中,这样客户端就不需要一次又一次地向服务器请求相同的资源。服务器响应应该包含有关如何进行缓存的信息,以便客户端将响应缓存一段时间或从不缓存服务器响应。

以下是服务器响应可以具有的标头,以便配置客户端的缓存 -

先生。 标题和描述

1

日期

资源创建时的日期和时间。

2

上一次更改

上次修改资源时的日期和时间。

3

缓存控制

用于控制缓存的主标头。

4

过期

缓存的到期日期和时间。

5

年龄

从服务器获取资源以来的持续时间(以秒为单位)。

缓存控制头

以下是 Cache-Control 标头的详细信息 -

先生。 指令和说明

1

民众

指示资源可由任何组件缓存。

2

私人的

表示资源只能由客户端和服务器缓存,没有中介可以缓存该资源。

3

无缓存/无存储

指示资源不可缓存。

4

最大年龄

指示缓存在 max-age 以内有效(以秒为单位)。此后,客户必须提出另一个请求。

5

必须重新验证

如果 max-age 已过,则指示服务器重新验证资源。

最佳实践

  • 始终保持图像、CSS、JavaScript 等静态内容可缓存,过期日期为 2 到 3 天。

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

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

缓存控制的最佳实践