配置回源HTTP响应头

用户的请求通过全站加速到达源站后,如果您需要源站反馈的回源响应具备某些能力或者符合自定义的规则时(如缓存机制、请求MIME类型、过期时间等),可以通过配置回源HTTP响应头来实现。通过本文,您可以了解配置回源HTTP响应头功能的操作方法。

前提条件

默认不对外提供该功能,需提交工单申请对需要使用该功能的域名开启使用权限。

背景信息

HTTP响应头是超文本传输协议HTTP( Hypertext Transfer Protocol)的响应消息中消息头的组成部分之一,配置回源HTTP响应头后会使该响应消息具备参数赋予的能力。响应头由一个域名,冒号(:)和域值三部分组成,例如Cache-Control: no-cache。

HTTP协议采用了请求和响应模型。用户发出的请求通过全站加速以后到达源站,源站以一个状态行作为回源响应,您可以对源站返回的响应头做修改,来实现相应的能力,原理如下图所示。

回源响应

阿里云为您提供如下回源参数,来实现下表中的能力:

响应头

说明

示例

Cache-Control

控制源站到全站加速所有的缓存机制是否可以缓存这个对象,单位是秒。

Cache-Control: max-age=3600

Content-Type

设置请求体的MIME类型(适用POST和PUT请求)。

Content-Type: application/x-www-form-urlencoded

Expires

指定一个日期或者时间,超过该时间此回应过期。

Content-Type: text/html

Last-Modified

请求对象最后一次的修改日期。

Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

自定义回源响应头

当以上响应头无法满足您的需求时,您还可以选择自定义回源响应头来自定义响应头参数和值。

Allow、Content-Encoding和Content-Length等

说明
  • 回源请求是指某加速域名下用户的请求通过全站加速返回源站的HTTP消息。

  • 回源HTTP响应头是域名维度的,因此当配置生效,会对域名下任意一个资源的响应消息生效。该配置只会影响通过全站加速返回源站的HTTP消息,对于全站加速节点直接响应给用户的HTTP消息不做修改。

  • 目前不支持泛域名设置。

操作步骤

  1. 登录DCDN控制台

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

  3. 域名管理页面,找到目标域名,单击操作列的配置

  4. 在指定域名的左侧导航栏,单击回源配置

  5. 单击回源HTTP响应头页签。

  6. 回源HTTP响应头页面,单击添加

  7. 配置回源HTTP响应头信息。

    您可以根据业务需要,对回源响应请求URL中的HTTP Header进行增加操作;您还可以对那些回源响应请求URL中默认携带、添加过或者不再需要的HTTP Header进行替换、变更和删除操作。

    说明

    当对同一个回源响应头参数同时执行不同操作时,按照以下优先级依次执行:替换 > 增加 > 变更 > 删除。例如:当增加和删除操作同时作用于同一个参数时,会先增加,再删除。

    • 增加响应头参数

      HTTP响应头

      配置项

      示例

      说明

      响应头操作

      增加

      在回源HTTP请求中增加指定的响应头参数。

      自定义响应头参数

      自定义响应头

      可以选择在配置弹窗中已经预制的响应头参数,也可以在下拉框里选择自定义缓存响应头,配置自定义缓存响应头参数。

      自定义响应头名称

      x-code

      自定义响应头名称为x-code。

      响应头值

      key1

      一个响应头参数里面,可以配置多个值,不同值之间使用英文逗号(,)隔开。

      key1,key2

      是否允许重复

      允许

      是否允许重复设置为允许时,该响应头参数可以设置不同的参数值。例如:x-code:key1x-code:key2

      不允许

      是否允许重复设置为不允许时,该响应头参数仅可以设置唯一的参数值,后面添加的参数值会覆盖前面添加的参数值。例如:先添加x-code:key1后,再添加x-code:key2,最终的值为x-code:key2

    • 替换响应头参数

      替换

      配置项

      示例

      说明

      响应头操作

      替换

      当响应头参数不存在重复时,可以正常替换参数,有多个重复响应头参数的情况下,不允许进行替换操作。

      自定义响应头参数

      自定义响应头

      可以选择在配置弹窗中已经预制的响应头参数,也可以在下拉框里选择自定义响缓存应头,变更自定义缓存响应头参数。

      自定义响应头名称

      x-code

      自定义响应头名称为x-code。

      查找

      key

      正则表达式查找需要替换的参数值。

      替换为

      abc

      正则表达式替换需要替换的参数值。

      匹配

      匹配所有

      匹配选项设置为匹配所有时,所有被匹配的值都会被替换。例如:x-code:key1,key2,key3,正则匹配值key替换为abc,替换后的结果为x-code:abc1,abc2,abc3

      仅匹配第一个

      匹配选项设置为仅匹配第一个时,只有第一个被匹配的值会被替换。例如:x-code:key1,key2,key3,正则匹配值key替换为abc,替换后的结果为x-code:abc1,key2,key3

    • 变更响应头参数

      变更

      配置项

      示例

      说明

      响应头操作

      变更

      当响应头参数不存在重复时,可以正常变更参数,有多个重复响应头参数的情况下,不允许进行变更操作。

      自定义响应头参数

      自定义响应头

      可以选择在配置弹窗中已经预制的响应头参数,也可以在下拉框里选择自定义缓存响应头,变更自定义缓存响应头参数。

      自定义响应头名称

      x-code

      自定义响应头名称为x-code。

      响应头变更为

      key1,key3

      一个响应头参数里面,可以配置多个值,不同值之间使用英文逗号(,)隔开。

    • 删除响应头参数

      删除

      配置项

      示例

      说明

      响应头操作

      删除

      删除所有与响应头参数名称匹配的参数值,无论是否有重复的响应头参数。

      自定义响应头参数

      自定义响应头

      可以选择在配置弹窗中已经预制的响应头参数,也可以在下拉框里选择自定义缓存响应头,删除自定义缓存响应头参数。

      自定义响应头名称

      x-code

      自定义响应头名称为x-code。

  8. 单击确定