节点HTTP响应头是HTTP响应消息头的组成部分之一,可携带特定响应参数并传递给客户端。通过配置节点HTTP响应头,边缘安全加速 ESA节点返回资源给客户端时,响应消息会携带您配置的响应头,从而实现跨域访问等特定功能。
典型应用场景
告知客户端边缘安全加速 ESA响应文件的资源类型:添加响应头
Content-Type: text/html
告知客户端边缘安全加速 ESA响应文件的格式是HTML格式。实现跨域资源访问:当用户请求边缘安全加速 ESA上某个域名的资源时,您可以在边缘安全加速 ESA返回的响应消息中配置响应头Access-Control-Allow-Origin,以实现跨域访问,请参考配置跨域资源共享。
自定义响应行为:添加或修改自定义头部信息,可以根据业务需求调整客户端接收到的响应内容和格式,实现特定的功能或跟踪目的。
注意事项
在添加了多条配置的情况下,配置的执行顺序是按配置列表从上到下的顺序逐条执行,响应头名称相同的配置将被覆盖,最终结果可能与预期不符。例如:
配置1:增加HTTP响应头:
cache-control: max-age=3600
配置2:增加HTTP响应头:
cache-control: no-cache
以上两个配置叠加的结果是配置2最终生效,即cache-control: no-cache。
修改响应头
在ESA控制台,选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择 。
单击修改响应头页签,单击新增规则,填写规则名称。
在当请求匹配以下规则时...区域设置要匹配的用户请求特征,具体配置规则请参见规则表达式的组成。
在修改响应头区域,选择操作方式,写入响应头名称和响应头值。
操作方式
转换模式
说明
示例
添加
静态模式
在返回客户端的响应中添加指定响应头。
如果客户端请求中已经包含了同名请求头,则新添加的请求头将会覆盖客户端请求中的同名请求头。
增加名称为x-code,值为key1的响应头,请填写:
响应头名称:x-code
响应头值:key1
动态模式
响应头值支持设置为一个表达式。
功能配置:
响应头名称:Client-Ip-Geo-Location
响应头值:ip.geoip.country
配置效果:设置一个自定义响应头Client-Ip-Geo-Location,用于记录客户端IP归属的地理位置对应的国家/地区。
变更
静态模式
在返回客户端的响应中变更指定响应头的值。
如果客户端请求中没有包含同名请求头,则变更不会生效。
修改名称为x-code的响应头的值为key2,请填写:
响应头名称:x-code
响应头值:key2
动态模式
响应头值支持设置为一个表达式。
功能配置:
响应头名称:Client-Ip-Geo-Location
响应头值:ip.geoip.country
配置效果:变更原始响应中携带的响应头Client-Ip-Geo-Location,将响应头值变更为客户端IP归属的地理位置对应的国家/地区。
删除
在返回客户端的响应中删除所有与响应头名称匹配的参数值,无论是否有重复的响应头参数。
删除名称为x-code的响应头,请填写响应头名称:x-code。
说明禁止配置
ali-
或者Ali-
开头的响应头名称。一个响应头参数中可以配置多个值,多个值用英文逗号
,
分隔。对于删除操作,不区分静态模式和动态模式,两者配置的效果是一样的。
变更是对已存在的响应标头做修改,只有在原始响应标头里面存在对应名称的标头的情况下,变更操作才会生效。
单击确定。
响应头参数
响应头参数 | 说明 | 示例 |
自定义 | 支持添加自定义响应头。自定义响应头名称要求如下:
| Test-Header |
Cache-Control | 指定客户端程序请求和响应遵循的缓存机制。 | no-cache |
Content-Disposition | 指定客户端程序把请求所得的内容存为一个文件时提供的默认的文件名。 | examplefile.txt |
Content-Type | 指定客户端程序响应对象的内容类型。 | text/plain |
Pragma | Pragma 是一个在 HTTP/1.0 中规定的通用首部,这个首部通常用于在服务器的响应中定义客户端对文件的缓存行为。 | no-cache |
Access-Control-Allow-Origin | 指定哪些源可以访问资源。它是跨域资源共享(
|
|
Access-Control-Allow-Methods | 指定允许的跨域请求方法。多个方法用英文逗号 | POST,GET |
Access-Control-Allow-Headers | 指定允许的跨域请求字段。 | X-Custom-Header |
Access-Control-Expose-Headers | 指定允许访问的自定义头信息。 | Content-Length |
Access-Control-Allow-Credentials | 该响应头表示是否可以将对请求的响应暴露给页面。
| true |
Access-Control-Max-Age | 指定客户端程序对特定资源的预请求返回结果的缓存时间,单位为秒。 | 600 |
响应头值支持配置为
*
,表示任意来源。响应头值非
*
的情况下,支持配置单个或者多个IP、域名、或者IP和域名混合,相互间用英文(,
)分隔。响应头值非
*
的情况下,必须包含协议头http://
或者https://
。响应头值支持携带端口。
响应头值支持泛域名。