HTTP标头

本文档旨在说明由边缘安全加速 ESA节点发出的HTTP请求或HTTP响应所携带的HTTP标头信息。其中,部分HTTP标头在站点域名接入ESA后会默认携带,另一部分则是在启用ESA的特定功能后才会携带。

请求标头

请求标头是指在使用ESA 服务时,客户端或ESA节点向源站服务器发送 HTTP 请求时携带的特定标头。

CDN-Loop

CDN-Loop标头用于防止请求在CDN之间无限循环。该标头已在互联网工程任务组(IETF)的文档中正式定义,ESA遵循RFC 8586标准,在处理和转发HTTP请求时添加CDN-Loop标头,以提高整个网络环境下的请求路由效率和可靠性。

格式:CDN-Loop: <厂商名称>; loops=<value>, <厂商名称>; loops=<value>

示例:cdn-loop: ESA; loops=2

loops后面的数值需要控制在小于等于2,大于2会被ESA节点停止转发请求。

响应标头

ESA会在发送给访问者的响应中添加一些与ESA相关的特定HTTP标头。

Set-Cookie

ESA将在发送给访客的响应中添加以下指定的HTTP标头。

  • 默认在请求响应中通过Set-Cookie方法插入以acw_tc或者cdn_sec_tc开头的Cookie,用来标记不同的客户端会话,用于统计同一个客户端会话发起攻击的频率。

    标头示例:Set-Cookie: cdn_sec_tc=2f7b12da17525774695245703ee21f15714874ac9b5788522f6bf6f459;path=/;Http0nly;Max-Age=3600
  • 如果客户端请求触发了WAFJavaScript挑战或者CAPTCHA验证,还会通过Set-Cookie方法插入以acw_sec开头的Cookie,用来在后续请求中识别客户端是否已经通过了验证,从而避免重复挑战或者验证。

    标头示例:Set-Cookie: acw_tc=2f7b12da17525774695245703ee21f15714874ac9b5788522f6bf6f459; path=/;Http0nly ;Max-Age=3600

Proxy-Status

Proxy-Status HTTP响应头字段是由互联网工程任务组(IETF)在 RFC 9209中定义的,用于提供一种标准化的方式来传达关于HTTP请求经过的代理服务器的信息。通过Proxy-Status头部,代理服务器可以向客户端提供有关请求处理情况的详细信息,包括但不限于错误详情、代理服务器的身份以及请求在代理中的处理状态。这使得诊断和解决由代理引起的HTTP问题变得更加简单直接,并提高了透明度。ESA遵循RFC 9209标准,在响应客户端请求时,加入了Proxy-Status标头,用于传递ESA节点与源站之间的异常信息。