海外CDN

    配置缓存过期时间

    概述

    缓存配置是指CDN节点在缓存资源时所遵循的一套过期淘汰规则。配置缓存过期时间即配置缓存文件在cache中保存的时长。CDN缓存的资源都有一定的过期时间;在资源未过期时,接受到请求时由节点响应;在资源过期时,节点会请求源站重新缓存,并将资源发给用户。

    • 在用户接入域名时,控制台会自动为其配置默认缓存,用户可编辑权重值来调整缓存规则生效的优先级。缓存内容包括:

      • 全局静态文件默认缓存30天,权重为2。
      • 动态文件如.php、.jsp、.asp等默认缓存时间为0,权重为3。
      • 源站HTTP Header中缓存控制权重为1。
    • 过期时间可以通过控制台设置,也可以通过HTTP Header中的缓存控制头(Expires或Cache-control)设置。

      • 两者都未设置时,CDN不缓存数据。
      • 两者都设置时,根据配置的缓存策略权重来判断优先级。

    注意事项

    • 未通过验证或正在验证的域名不可配置。
    • CDN支持用户自己配置过期时间,CDN控制台的缓存设置优先级高于源站HTTP Header的设置,若用户需要源站优先级高于控制台设置,可通过修改对应规则的权重值来实现。
    • CDN支持文件类型(扩展名)和目录,文件名三种配置项的过期时间设置。
    • 用户最多可设置15个配置项的过期时间。
    • 静态内容如jpg、png、mp3 等内容的过期时间建议设置一个月。
    • 用户可在域名详情页的“缓存配置”页签中,对配置项的过期时间进行添加或修改。
    • 不推荐两条缓存策略配置相同的权重,如果权重相同,会随机选择其中一条策略生效。
    • 缓存配置的两个默认特点:

      • 对用户任意请求,如果当前资源未过期,则节点响应,如果当前资源过期,则请求源站缓存并响应请求。
      • 如果不配置任何缓存规则,则根据源站的响应头,来设置缓存资源的过期时间。

    控制台配置缓存过期时间

    1. 登录CDN管理控制台,进入“内容分发网络CDN”页面。
    2. 在左侧导航栏,点击域名管理
    3. 进入域名管理页面,点击目标域名操作列的管理
    4. 进入“CDN域名详情”页,在页面上方导航栏选择缓存配置页签。
    5. 缓存过期时间配置模块中点击添加配置
    6. 点击添加配置,在弹出的“添加缓存设置页面”配置以下参数。

    参数 说明
    类型 支持文件后缀名、目录、状态码和精确文件的配置。
    • 目录缓存配置:以目录为判断依据的缓存配置,例如/test目录缓存配置100秒,则用户域名/test路径下的所有资源文件在节点的过期时间为100秒。
    • 文件后缀名缓存配置:以文件后缀名为判断依据的缓存配置,例如设置图片文件jpg缓存配置100秒,则jpg资源文件在节点的过期时间为100秒。
    • 状态码缓存配置:以回源响应的状态码为判断依据的缓存配置,例如404异常状态码缓存配置3600秒,则源站的404响应在节点的过期时间为3600秒。
    • 文件名缓存配置:以“/”开头的准确文件名为判断依据的缓存配置,如/test.jpg缓存配置100秒,则该文件在节点的过期时间为100秒。
    缓存项 指明具体哪些资源适用于本条缓存配置。
    过期时间 资源在节点上过期的时间。状态码缓存过期时间为0~120s,配置的过期时间应在此范围内。过期时间设置为0,即为不缓存该内容。
    权重 权重代表缓存规则的优先级,取值范围为0~100,权重大者优先级高,对应规则优先生效,权重相同者随机生效。

    通过HTTP Header缓存控制头设置

    对于HTTP Header中设置缓存控制头Expires与Cache-control的区别:

    • Cache-control:用于控制http缓存。如果设置为“no-cache”,则意味着指示请求或响应消息不能缓存(HTTP/1.0用Pragma的no-cache替换)。
    • Expires:表示失效时间,也就是文件在本地客户端的缓存时间,等同max-age的效果,Expires的值应该使用GMT格式的时间:如 Thu, 01 Dec 1994 16:00:00 GMT。
    • 若Expires与Cache-control同时存在,Expires会被Cache-Control的max-age覆盖。

    相关API

    API 接口: 设置缓存参数过滤规则

    上一篇
    管理域名
    下一篇
    忽略参数