deno.com
本页内容

缓存

信息

您正在查看 Deno DeployEA 的文档。正在寻找 Deploy Classic 文档?在此处查看

Deno DeployEA 包含一个内置 CDN,可以缓存来自您应用程序的响应。这有助于提升以下场景的性能:

  • 静态资产(图片、CSS、JavaScript 文件)
  • API 响应和不常更改的服务器渲染页面

默认情况下,所有应用程序都启用了缓存,但只有带有适当缓存头的响应才会被实际缓存。

Deno DeployEA 集成了 Next.js 等流行框架,可自动优化增量式静态再生成 (ISR) 等功能的缓存。

CDN 缓存与版本和上下文相关联。当您部署新版本时,缓存会自动失效,确保用户始终看到应用程序的最新版本。请注意,如果 Cache-Control 标头允许,浏览器缓存仍可能提供旧内容。

缓存资源 跳到标题

要缓存资源,请在响应中设置 Cache-Control 标头。此标准 HTTP 标头会告知浏览器和 CDN 如何缓存您的内容。

支持的缓存指令 跳到标题

Deno DeployEA 支持以下缓存指令:

指令 描述
max-age CDN 和浏览器将响应视为最新的最长时间(秒)。在此时间之后,响应被视为过期,并与服务器重新验证。
s-maxage 共享缓存(仅限 CDN,不包括浏览器)将响应视为最新的最长时间(秒)。在此时间之后,响应将与服务器重新验证。
stale-while-revalidate 在后台获取新响应的同时,可以提供过期响应的最长时间(秒)。
stale-if-error 如果服务器返回错误,可以提供过期响应的最长时间(秒)。
immutable 表示响应永不改变,允许无限期缓存。适用于内容哈希的静态资产。
no-store 阻止响应被缓存。用于不应缓存的动态内容。
no-cache 在从缓存提供之前,需要与服务器重新验证。用于频繁更改但可从条件请求中受益的内容。

附加缓存头 跳到标题

  • Vary: 指定哪些请求头应包含在缓存键中,根据这些头创建单独的缓存版本。

  • Expires: 为响应设置一个绝对过期日期(max-age 的替代方案)。不会更改,例如图片或 CSS 文件。

  • no-store: 响应不应被缓存。这对于不应缓存的动态响应非常有用,例如 API 响应或服务器渲染的页面。

  • no-cache: 响应在从缓存提供之前应与服务器重新验证。这对于可能频繁更改的动态响应非常有用。

Vary 标头可用于指定哪些请求标头应作为请求的缓存键的一部分。

Expires 标头可用于指定响应的绝对过期日期。这是 max-age 指令的替代方案。

您找到所需内容了吗?

隐私政策