CDN加速

文档中心 API文档 域名配置 修改缓存时间配置接口

修改缓存时间配置接口

更新时间:2021-02-05 10:33:17
适用产品:网页加速、下载加速、全站加速、点播加速、直播加速、移动加速、云存储

接口描述

通过接口自助实现修改域名缓存时间配置,实现针对客户的请求实现定制缓存功能。节点缓存分为常规缓存和带查询串URl缓存,在常规缓存里您可以设置缓存时间以及对某些影响缓存的头进行忽略处理,以及是否缓存空文件等,带查询串Url可以设置缓存成多份还是缓存成去掉问号后的url(增加命中率)。接口调用url的*可为域名名称或域名id

请求参数

参数名称类型必填描述
cache-time-behaviorscomplex缓存时间配置 注意: 1、需要取消缓存时间配置设置时,可以传入空节点<cache-time-behaviors></cache-time-behaviors>。 2、表示需要设置缓存时间配置时,此项必填
cache-time-behaviorcomplex缓存时间配置,客户可以配置多组缓存时间 注意: 1、表示一组缓存时间配置 2、当其他配置项都是没有入参时,data-id必填,且值为实际存在的data-id,表示清空这个data-id对应配置项的值 3、URL匹配模式,目录,文件类型(自定义文件类型),指定常用类型,指定URL。一个data-id下只能配置一个。 4、当缓存时间不为0的时候:例外的url配置不能有值
data-idint添加grid类型标识,表示客户多组配置时,具体某组配置 如果是新增一组配置项的值时,不需要传。如果指定修改具体data-id的配置项值时,需要传入对应配置项对应的data-id.可以通过查询接口获取
path-patternStringurl匹配模式,支持正则,如果是全部匹配,入参可以配置为:*
except-path-patternString例外的url匹配模式,某些URL除外:如abc.jpg,不做内容重定向 客户入参参考:^https?://[^/]+/.*\.m3u8
custom-patternString指定常用类型:选择缓存域名的是全部文件还是首页。入参参考值: all:全部文件 homepage:首页
file-typeString文件类型:指定需要缓存的文件类型。 文件类型包括:gif png bmp jpeg jpg html htm shtml mp3 wma flv mp4 wmv zip exe rar css txt ico js swf 如果需要全部类型,则直接传all。多个以分号隔开,all和具体文件类型不能同时配置。
custom-file-typeString自定义文件类型:在指定文件类型外根据自身需求,填写适当的可识别文件类型。可以搭配file-type使用。如果file-type也有配置,实际生效的文件类型是两个入参的总和
specify-url-patternString指定URL缓存:根据需求指定url进行缓存 入参不支持含http(s):// 开头的URI格式
directoryString目录:指定目录缓存。 输入合法的目录格式。多个以英文分号隔开
cache-ttlint缓存时间:设置缓存对象对应的时间 入参格式:整数加单位,比如20s、30m、1h、2d,不缓存设置为0。不输入单位默认是秒 缓存时间理论上没有上限限制,这个时间根据客户自身的需求设定,如果客户觉得其中一些文件,变更不频繁,那么就设置长一点。例如,文本类的js,css,html等可以设置得短一些,图片、视频音频类的可以设置的长一点(因为缓存时间会因文件热度算法,旧文件会被新文件替换掉,最长建议不要超过一个月)
ignore-cache-controlstring忽略源站不缓存头。可选值为true和false,用于忽略请求头中cache-control的两种配置(private,no-cache)和客户端设置的Authorization。 ture表示会忽略掉源站对于这三者的设定。使得资源能够以cache-control: public的方式缓存在服务节点上,然后我们的节点才能缓存这种类型的资源,提供加速服务。 false表示当源站对某种资源设定了cache-control: private,cache-control:no-cache或指定根据authorization进行缓存时,我们的服务节点将不会对此类文件进行缓存。
is-respect-serverString尊重服务端:加速是否要按源站缓存时间优先。 可选值:true和false true:表示重服务端时间优先 false:CDN配置的缓存时间优先
ignore-letter-caseString忽略大小写,可选值为true或false,true表示忽略大小写;false表示不忽略大小写; 新增配置项时,不传默认为 true
reload-managestringreload处理规则,可选项:ignore或者if-modified-since if-modified-since:表示要转成if-modified-since ignore:表示忽略客户端刷新
priorityint表示客户多组重定向内容的优先执行顺序。数字越大,优先级越高。 新增配置项时,不传默认为 10 如果传了值,不能为空
ignore-authentication-headerBoolean忽略鉴权头部Authentication,可选值为true和false。默认为不忽略。

返回参数

参数名称类型描述
http status codeinthttpstatus=202;   表示成功调用新增域名接口,可使用header中的x-cnc-request-id查看当前新增域名的部署情况
x-cnc-request-idString唯一标示的id,用于查询每次请求的任务 (适用全部接口)
LocationString用于访问该域名信息的URL,其中domain-id为我司云平台为该域名生成的唯一标示,其值为字符串。
codeString错误代码,当HTTPStatus不为202时出现,表示当前请求调用的错误类型
messageString响应信息,成功时为success

错误码

错误代码(code)描述(message)HTTP状态码语义
InvalidParameterThe request has null config with null data-id, please remove it.400其他属性都为空,dataId不能为空

示例

示例说明
请求示例
复制
#!/bin/bash
username="example_username"
apiKey="example_apiKey"
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://open.chinanetcenter.com/api/config/cachetime/123344" \
-X "PUT" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-H "Content-Type:application/json" \
-d '{
    "cache-time-behaviors": [
        {
            "data-id": "31506459", 
            "path-pattern": ".*", 
            "cache-ttl": "30s", 
            "ignore-cache-control": "true", 
            "is-respect-server": "false", 
            "ignore-letter-case": "true", 
            "reload-manage": "ignore", 
            "priority": "10"
        }, 
        {
            "path-pattern": ".*", 
            "cache-ttl": "30s", 
            "ignore-cache-control": "false", 
            "is-respect-server": "true", 
            "ignore-letter-case": "true", 
            "reload-manage": "if-modified-since", 
            "priority": "10"
        }
    ]
}'
返回示例
复制
HTTP/1.1 202 Accepted
Date: Fri, 17 May 2017 06:33:26 GMT
Content-Type: application/json;charset=utf-8
x-cnc-request-id:c54cbbb4-19fe-407a-930c-3988b62ed2fd
{"message":"success"}