文档首页 > > 用户指南> 域名配置> 高级配置>

HTTP header配置(跨域请求)

HTTP header配置(跨域请求)

分享
更新时间:2021/03/05 GMT+08:00

HTTP header即HTTP消息头,是指在超文本传输协议(Hypertext Transfer Protocol,HTTP)的请求和响应消息中的消息头部分,定义了HTTP传输过程中的具体参数。

当您使用HTTP Header配置功能,用户请求加速域名下的资源时,可以在返回的响应消息中添加您配置的消息头,以实现跨域访问等目的。

注意事项

由于HTTP header配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置的消息头。HTTP响应消息头配置仅会影响客户端(浏览器)的响应行为,不影响CDN节点的缓存行为。

背景信息

华为云CDN支持以下几种HTTP响应消息头进行自定义取值。

  • Content-Disposition

    Content-disposition消息头用来激活客户端下载并指定所下载文件的名称。

    服务端向客户端浏览器发送的文件,如果是浏览器支持的文件类型(如txt、jpg等),则默认使用浏览器打开。如果该文件需要用户以附件形式下载并保存为指定名称的文件,则可通过配置Content-disposition消息头实现。

  • Content-Language

    Content-Language消息头用来指明向客户页面端提供的用户偏好语言或语言组合,可以为不同身份用户定制不同的内容。

  • Access-Control-Allow-Origin

    Access-Control-Allow-Origin响应头携带了服务端验证后允许的跨域请求域名。对于简单跨域请求而言,浏览器经此消息头可以确认是否返回所请求的资源内容给客户端。对于预检请求而言,浏览器经此消息头可以确认是否可以向服务端发起真正的跨域请求。

  • Access-Control-Allow-Methods

    Access-Control-Allow-Methods响应头携带了服务端验证后允许的跨域请求方法。对于简单跨域请求而言,浏览器经此消息头可以确认是否返回所请求的资源内容给客户端。对于预检请求而言,浏览器经此消息头可以确认是否可以向服务端发起真正的跨域请求。

  • Access-Control-Max-Age

    Access-Control-Max-Age响应头携带了服务端允许的跨域预检请求结果允许缓存的时间。浏览器经此消息头可以确认预检请求结果的缓存时间,在缓存有效期内,浏览器可以使用缓存的预检请求结果判断是否向服务端发起跨域请求。缓存的预检请求结果过期后,下次请求时浏览器需再次向服务端发送预检请求。

  • Access-Control-Expose-Headers

    Access-Control-Expose-Headers用于指定浏览器可以暴露给客户端的响应消息头。您可以通过配置Access-Control-Expose-Headers自定义客户端可见的响应消息头。浏览器默认客户端可见的响应头有:Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma。

  • 自定义响应头

    如果上述响应头不能满足您的业务需求,CDN支持自定义响应头配置,支持以字母开头,字母、数字和短横杠(-)组合,长度1~100以内的自定义响应头名称。

操作步骤

  1. 登录CDN控制台
  2. 在左侧菜单栏中,选择域名管理
  3. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
  4. 选择“高级配置”页签。
  5. 在HTTP header配置模块,单击“编辑”,系统弹出“配置HTTP header”对话框,如下图所示。

  6. 单击“添加”,下拉选择需要配置的参数,在对应取值输入框输入参数取值。

    参数

    取值规则

    取值样例

    Content-disposition

    激活客户端下载并指定所下载文件的名称。

    取值规则:常用配置如右侧取值样例所示。

    attachment;filename=FileName.xls

    Content-Language

    指定客户端响应页面的语言。

    取值规则:常用配置如右侧取值样例所示。

    zh-CN

    en-US

    Access-Control-Allow-Origin

    指定跨域请求时,允许访问该资源的外域URL(即请求来源)。

    取值规则

    • 支持配置具体URL。
    • URL长度不能超过256。
    • 在配置指定域名时,需要加上“http://” 或 “https://”前缀。
    • 支持配置“*”,如果取值为“*”,则不允许输入其它URL。

    样例1:

    https://www.example.com

    样例2:

    *

    Access-Control-Allow-Methods

    指定跨域请求时,允许使用的HTTP请求方法。

    取值规则:支持同时配置多个请求方法,多个方法间用“,”分割。

    GET,POST,HEAD

    Access-Control-Max-Age

    指定跨域请求时,客户端程序对特定资源的预检请求返回结果的缓存时间。

    取值规则:取值单位为秒,取值范围为:1~1000000000。

    86400

    Access-Control-Expose-Headers

    指定跨域请求时,客户端可见的响应头部信息。

    取值规则:支持同时配置多个响应头,多个响应头间用“,”分割。

    Content-Length,Content-Encoding

    自定义响应头

    跨域请求时,客户自定义的响应头部信息。

    取值规则:长度范围1~256,支持字母、数字和特定字符(.-_*#!%&+|^~'"/:;,=@?)。

    x-testcdn

  7. 单击“确定”,完成HTTP header配置。
    • CDN暂不支持以下响应头配置:

      A_Dynamic

      If-Non-Match

      Sec-WebSocket-Origin

      X-Forward-Peer

      Accept-Ranges

      If-Range

      Sec-WebSocket-Protocol

      X-Forward-Type

      Age

      Keep-Alive

      Sec-WebSocket-Version

      X-Forward-Uri

      Allow

      Key

      Set-Cookie

      X-Forwarded-For

      Authentication-Info

      Last-Modified

      Tcp-Retrans

      X-IP-Region

      Authorization

      Link

      Title

      X-IP-Region-CN

      Cache-Control

      Location

      Transfer-Encoding

      X-Ip-Blackwhite-List

      Cdn-Qos

      Max-Forwards

      Upgrade

      X-Local-Ip

      Cdn-Server-Ip

      Meter

      Vary

      X-Log-Url

      Cdn-Src-Ip

      Mime-Version

      Via

      X-MAA-Alias

      Conf-Err-Host

      Negotiate

      WWW-Authenticate

      X-MAA-Auth

      Conf-File

      Origin

      Warning

      X-Max-Conns

      Conf-File-List

      Partition-Block-Size

      Ws-Hdr

      X-Mem-Url

      Conf-Option

      Pragma

      WsTag

      X-Mgr-Traffic

      Conf-Other

      Proxy-Authenticate

      X-Accelerator-Vary

      X-Miss-Rate-Limit

      Connection

      Proxy-Authentication-Info

      X-Appa

      X-Miss-Times-Limit

      Content-Encoding

      Proxy-Authorization

      X-Appa-Origin

      X-No-Referer

      Content-Length

      Proxy-Connection

      X-Black-List

      X-Query-Key

      Content-Location

      Proxy-Support

      X-Bwctrl-Limit

      X-Rate-Limit

      Content-MD5

      Public

      X-Bwctrl-Para

      X-Refresh-Pattern

      Content-Range

      Purge-Domain

      X-Cache

      X-Request-Id

      Content-Type

      Purge-Extra

      X-Cache-2

      X-Request-Uri

      Date

      Range

      X-Cache-Lookup

      X-Request-Url

      Dynamic

      Request-Range

      X-Cacheable

      X-Resp-Time

      ETag

      Retry-After

      X-Cdn-Src-Port

      X-Rewrite-Url

      Error

      Sec-WebSocket-Accept

      X-Client-Ip

      X-Squid-Error

      Expect

      Sec-WebSocket-Draft

      X-DNS-Time

      X-Times-Limit

      Expires

      Sec-WebSocket-Extensions

      X-Denyattack-Dynconf

      X-Url-Blackwhite-List

      From

      Sec-WebSocket-Key

      X-Error-Status

      X-Via-CDN

      Front-End-Https

      Sec-WebSocket-Key1

      X-Error-URL

      X-White-List

      Host

      Sec-WebSocket-Key2

      X-Forward-Host

      -

      If-Match

      Sec-WebSocket-Location

      X-Forward-Ip

      -

      If-Modified-Since

      Sec-WebSocket-Nonce

      X-Forward-Measured

      -

分享:

    相关文档

    相关产品