HTTP头部控制

更新时间:2024-07-17 17:24:22

CDNetworks提供HTTP头部管理功能,支持您灵活操作CDN节点与客户端、源站之间交互的 HTTP 请求和响应头部。您可以根据实际需求,选择在CDN回源请求CDN回客户端响应CDN接收源站响应CDN接收客户端请求这四个方向上,对 HTTP头部进行新增、替换或删除等操作。大多数应用场景下,您主要会在CDN回源请求和CDN回客户端响应这两个方向上进行HTTP头部控制。

如何添加HTTP头部规则

  1. 登录CDNetworks控制台, 选择对应的产品。
  2. 进入自助配置页面,找到需要添加HTTP头部规则的域名,点击上方配置修改或者域名右侧的编辑按钮온라인 지원센터 변경 안내
  3. 进入配置修改页面,找到HTTP协议优化-HTTP头部,点击添加,开始创建新的HTTP头部规则。
  4. 根据您的需要,配置以下配置项。


指定生效范围
即控制新增的HTTP头部规则的作用范围。这里我们提供如下生效范围供您选择。

参数 描述
所有请求 针对该域名下的所有类型的请求都生效。
仅首页 仅针对域名根目录格式的请求生效,比如http://domain/https://domain/
指定文件类型 仅对特定类型的文件生效,您可以在左侧选择对应的常见文件类型,也可以自定义文件类型。对于自定义文件类型,多个文件类型之前请通过分号;分割,例如:jpg;png
指定URI 仅对指定URI的内容请求生效此HTTP头部规则,不包含http://https://,仅需配置URL的URI部分,多条URI请换行分隔。例如,若完整 URL为http://www.test.com/browse/index.html,则仅需配置/browse/index.html
指定目录 仅对部分目录下的内容请求生效此规则,比如,当配置为/file/abc/表示对http://domain/file/abc/*下所有的内容都会生效。
注意:目录必须以/作为开头和结尾,只能包含由字母、数字及部分特殊符号(包含下划线、减号、百分号、点)任意组合,当有多个目录时,目录间需要进行换行分隔。


如上图所示,您还可以通过进阶范围配置,进一步细化规则的生效范围,实现更精准的控制。进阶范围配置的规则将与基础生效范围的规则取交集,最终确定该功能的整体生效范围。您可以从以下参数中选择一个或多个进行组合配置,与基础生效范围形成的逻辑关系,从而精确地定位目标请求或响应。

参数 描述
UA 支持填写正则表达式,用于匹配符合条件的User Agent字符串。例如,^Mozilla/4\.0$表示匹配以Mozilla/4.0开头和结尾的User Agent。
例外的 UA 同样支持填写正则表达式,用于排除符合条件的User Agent。
状态码 填写需要匹配的HTTP状态码,多个状态码之间用;分隔。 例如,200;404表示匹配状态码为200404的请求。
例外的状态码 填写需要排除的HTTP状态码,多个状态码之间用;分隔。
例外的文件类型 用于排除符合条件的常见文件类型,多个文件类型之间用;分隔。
自定义文件类型 您可以根据实际需求,填写自定义的文件类型,多个文件类型之间用;分隔。
例外的目录 填写需要排除的目录路径,路径必须以/开头和结尾,多个目录之间用用;分隔。
请求方式 填写需要匹配的HTTP请求方法,多个方法之间用;分隔。例如,GET;POST表示匹配GETPOST请求
例外的请求方式 填写需要排除的HTTP请求方法,多个方法之间用;分隔。
请求头 填写需要匹配的请求头及其值,中间以空格隔开。例如,Range bytes=[0-9]{9,}表示匹配请求头为Range且值为bytes=后跟至少9个数字的请求。
例外的请求头 填写需要排除的请求头及其值,格式与请求头相同。
响应头 填写需要匹配的响应头及其值,中间以空格隔开。例如,cache-control max-age=表示匹配响应头为cache-control且值包含max-age=的响应。
例外的响应头 填写需要排除的响应头及其值,格式与响应头相同。
例外的 URL(正则) 填写正则表达式,用于排除符合条件的URL,例如,.*\.jpg$

选择操作类型
您可以选择以下三种操作类型:

  • 新增: 为HTTP请求或响应头部新增一个HTTP头部。
  • 替换: 将现有的HTTP头部替换为新的值。
  • 删除: 删除指定的HTTP头部。

选择或自定义HTTP头部

  • CDNetworks提供了多种常用的HTTP头部供您选择,例如:Expires、Content-Type、Cache-Control、Access-Control-Allow-Origin等。
  • 如果您需要操作的头部不在预设列表中,可以点选自定义,然后输入自定义的HTTP头部名称

配置HTTP头部的值

  • 当操作类型为新增时,您需要在新值字段中输入新增HTTP头部的值。
  • 当操作类型为替换时,您需要配置以下两个字段:
    新值 (必填): 表示要将匹配的头部替换成的新值。
    旧值 (选填): 表示要匹配的旧值。
    如果未填写旧值,则表示不进行匹配,直接将该头部的所有旧值都替换为新值。
    如果填写了旧值,则表示仅替换与旧值匹配的头部。

注意:
当操作类型为新增替换时,一条规则只能配置一个HTTP头部;选择删除时,一条规则可以配置多个HTTP头部。

选择控制方向
选择您要在哪个方向上进行HTTP头部的新增、替换或删除操作。


优先级
您可以选择该规则生效的优先级,数字越大匹配和执行的优先级越高。在同一匹配条件下,执行优先级高的规则。

完成上述配置后,请点击确认,然后选择下一步提交您的配置。为了避免配置影响您的生产环境,我们推荐您先预部署,把配置生效到测试环境中来验证您的配置是否正确。当配置确定无误后,单击直接部署将配置正式生效到线上环境,通常约3-5分钟后,配置将正式生效到线上环境。关于预部署测试的更多细节,请参考教程通过预部署来验证配置是否生效

注意事项

  • 新增 HTTP头部时,如果目标请求或响应中已存在相同的头部,则新增操作会失败,系统将透传原头部信息。如果您需要支持重复头部,请联系CDNetworks技术支持团队进行配置。
  • 如果您对某个HTTP头部同时配置了新增、替换和删除操作,则无论规则优先级如何,其生效的优先级顺序均为: 删除 > 替换 > 新增。 请您在配置规则时注意规则的优先级,避免出现预期之外的结果。
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!