You need to enable JavaScript to run this app.
导航
浏览器缓存规则
最近更新时间:2024.08.05 16:49:35首次发布时间:2023.03.08 17:35:19

本文档介绍如何在内容分发网络(CDN)中设置用户浏览器对于请求文件的缓存行为。

浏览器缓存概述

当 CDN 响应一个用户请求时,除了将请求的文件发送给用户之外,还可以告知用户浏览器如何对该文件进行缓存。通过在 CDN 中指定浏览器缓存策略,您对特定文件在用户浏览器中的缓存行为进行设置。

浏览器依据源站响应中所指明的缓存行为来设置其缓存策略。在 CDN 向源站请求一个文件时,源站的响应头中会指明该文件的缓存行为。CDN 在缓存该文件时会记录该响应头。

浏览器缓存策略

浏览器缓存策略指定了 CDN 如何设置浏览器的缓存行为。CDN 提供了以下浏览器缓存策略:

  • 。该策略的逻辑如下:

    • 如果请求文件的源站响应中 Cache-Control 响应头不包含 no-cacheno-store 或者 private 指令,CDN 在响应用户请求时会包含 Cache-Control: max-age=N 响应头。该响应头告知浏览器需要缓存该文件,其缓存时间 N 就是您在策略中指定的缓存过期时间。
  • 遵循源站。该策略的逻辑如下:

    • 在响应用户请求时,CDN 会包含请求文件的与缓存相关的源站响应头。
  • 不缓存。该策略的逻辑如下:

    • CDN 告知浏览器不要对请求的文件进行缓存。在响应用户请求时,CDN 会包含 Cache-Control: no-store 响应头。

操作步骤

  1. 登录 火山引擎内容分发网络控制台

  2. 在左侧导航栏,点击 域名管理

  3. 域名管理 页面,找到需要配置的域名,点击 管理

  4. 在域名页面上,点击 缓存配置 页签。

  5. 在页面右上方,点击 编辑配置

  6. 浏览器缓存 下方,点击 新增规则。您最多可以添加 50 条缓存规则。

  7. 根据 配置说明 进行设置。

  8. 配置完成后,在页面右上方,点击 提交编辑

alt

配置说明

配置说明

规则类型

表示规则中的过滤条件。该配置有以下选项:

  • 文件后缀:表示路径末尾的扩展名。

  • 文件目录:表示路径中的目录。

  • 文件全路径:表示请求 URL 中的路径。

  • 全路径正则表达式:表示请求 URL 中的路径,通过正则表达式匹配。 要指定该选项,请 提交工单

规则内容

表示规则中的过滤值。多个过滤值之间使用分号(;)分隔,总长度不能超过 1,024 个字符,不能包含以下字符:

  • 连续斜杠(//)、空格、美元符号($)、问号(?)、Delete(ASCII code 127)。

CDN 在尝试将规则中的过滤条件与用户请求匹配时,匹配过程是大小写不敏感的。

另外,

  • 如果 规则类型文件后缀,过滤值是一个或者多个文件后缀。文件后缀无需以句点(.)开头。例如:png;txt

  • 如果 规则类型目录,过滤值是一个或者多个目录路径。目录路径必须以斜杠(/)开头和结尾。例如:/chs/foods/;/us/birds/

  • 如果 规则类型文件全路径,过滤值是一个或者多个文件路径。文件路径必须以斜杠(/)开头,可以包含星号(*)用来表示一个或者多个字符。例如:/chs/foods/local*sets;/us/birds/chickadee

  • 如果 规则类型全路径正则表达式,过滤值是一个或者多个正则表达式,用于匹配请求路径中的任意字符串。例如:^/a{1,2}.*g$

忽略大小写匹配表示 CDN 在尝试使用规则与用户请求匹配时,匹配过程是否是大小写敏感的。该配置默认是关闭,表示大小写敏感。

示例:对于文件后缀规则,您设置 忽略大小写 为关闭。您输入的规则内容是 png;txt。此时,该规则可以匹配 URL 是 HTTPS://www.EXAMPLE.com/volcano.png 的请求,但是不能匹配 URL 是 https://www.example.com/volcano.PNG 的请求。

缓存策略

设置一个缓存策略。该配置有以下取值:

  • 遵循规则

  • 遵循源站

  • 不缓存

关于每个策略的描述,参见 浏览器缓存策略

缓存时间

指定一个时间单位并输入缓存的时间。该配置仅当 缓存策略遵循规则 时有效。该配置的说明如下:

  • 如果您指定的时间单位是 ,您可以输入的值的范围是 0 - 31536000。31,536,000 秒就是 1 年。

  • 如果您指定的时间单位是 ,您可以输入的值的范围是 0 - 5256000。5,256,000 分就是 1 年。

  • 如果您指定的时间单位是 小时,您可以输入的值的范围是 0 - 8760。8,760 小时就是 1 年。

  • 如果您指定的时间单位是 ,您可以输入的值的范围是 0 - 365。

如果您指定 缓存时间0,则表示告知浏览器不要缓存文件。

规则优先级

在规则列表中,每条规则都有优先级。优先级为 1 的规则具有最高优先级。当收到一个用户请求时,CDN 按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了一条规则,匹配过程就停止了。您可以拖动规则来调整优先级。

规则中的过滤条件定义了规则的作用范围。如果您创建了多条规则,请留意这些规则的作用范围是否存在交集,并按您的预期设置规则的优先级。例如,您创建了两条规则。规则A 的作用范围是 /dir/,规则B 的作用范围是 png;jpg。如果 /dir/ 目录下存在 .png 文件,并且您希望规则B 对 .png 文件的请求生效,那么您需要设置规则B 的优先级高于规则A。