RESTful - Web 服务缓存

  • 简述

    缓存是指将服务器响应存储在客户端本身中,这样客户端就不必一次又一次地向服务器请求相同的资源。服务器响应应该包含有关如何进行缓存的信息,以便客户端将响应缓存一段时间或从不缓存服务器响应。
    以下是服务器响应可以具有的标头以配置客户端的缓存 -
    序号 标题和说明

    1

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

    2

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

    3

    Cache-Control
    控制缓存的主要标头。

    4

    Expires
    缓存的到期日期和时间。

    5

    Age
    从服务器获取资源后的持续时间(以秒为单位)。
  • 缓存控制头

    以下是 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 天。
    • 切勿将到期日期保持得太高。
    • 动态内容应仅缓存几个小时。
    缓存控制的最佳实践