Skip to main content
On this page

缓存

Info

您正在查看 Deno DeployEA 的文档。正在寻找 Deploy Classic 的文档?请点击这里查看

Deno DeployEA 内置了一个 CDN,可以缓存您应用程序的响应。这提升了以下内容的性能:

  • 静态资源(图片、CSS、JavaScript 文件)
  • 不频繁变化的 API 响应和服务器渲染页面

缓存默认对所有应用启用,但只有带有合适缓存头的响应才会被实际缓存。

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

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

缓存资源 Jump to heading

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

支持的缓存指令 Jump to heading

Deno DeployEA 支持以下缓存指令:

指令 描述
max-age 响应被 CDN 和浏览器认为是新鲜的最大时间(秒)。过期后,响应被视为陈旧,需要与服务器重新验证。
s-maxage 响应被共享缓存(仅限 CDN,不包括浏览器)认为是新鲜的最大时间(秒)。过期后,响应需要与服务器重新验证。
stale-while-revalidate 在获取新鲜响应的后台过程中,可以提供陈旧响应的最大时间(秒)。
stale-if-error 当服务器返回错误时,可以提供陈旧响应的最大时间(秒)。
immutable 表示响应永远不会改变,允许无限期缓存。适用于内容哈希的静态资源。
no-store 禁止缓存响应。适用于绝不应缓存的动态内容。
no-cache 在从缓存提供响应前需重新向服务器进行验证。适用于频繁变化但可利用条件请求的内容。

其他缓存头 Jump to heading

  • Vary:指定哪些请求头应当包含在缓存键中,基于这些请求头创建独立缓存版本。

  • Expires:为响应设置绝对过期时间(作为 max-age 的替代)。适用于不会变化的文件,如图片或 CSS 文件。

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

  • no-cache:响应在从缓存提供前应向服务器重新验证。适用于可能经常变化的动态响应。

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

Expires 头可用来指定响应的绝对过期时间。这是 max-age 指令的另一种选择。

你找到了你需要的东西吗?

编辑此页面
隐私政策