You need to enable JavaScript to run this app.
导航
配置 HTTP 响应头
最近更新时间:2023.06.01 19:22:44首次发布时间:2023.06.01 19:22:44

视频点播支持在域名管理中配置 HTTP 响应头。本文为您介绍如何在视频点播中配置 HTTP 响应头字段的功能介绍和操作步骤。

功能介绍

默认情况下,缓存节点在响应用户请求时,会透传源站的响应头。在视频点播中,您可以对响应头进行以下操作,以实现特定的功能。

  • 设置响应头字段:如果您需要在缓存节点响应头中添加字段,可以通过该操作进行配置。如果在匹配时发现响应头中已存在该字段,已有的字段值会被覆盖。匹配时不区分大小写。比如您添加了字段 X-Test:123,但是源站响应头中已存在字段 x-test:456。此时,缓存节点的响应头中该字段会更新为 x-test:123
  • 删除响应头字段:如果您不需要源站响应头中某些字段,可以通过该操作进行配置。在缓存节点响应用户请求时,响应头中就会删除这些字段。

在您设置字段时,可以输入任意字段或者从列表中选择一个常用字段。但是视频点播不支持设置某些字段,具体参见注意事项

适用范围

HTTP 响应头设置适用于点播加速域名、自定义源站加速域名和封面加速域名。

注意事项

在您设置字段时,不能使用以下字段,不然会报错。字段名称不区分大小写。

  • access-check
  • server-timing
  • via
  • x-request-ip
  • x-tt-trace-tag
  • x-bdcdn-logid
  • byte-error-code
  • x-bdcdn-cache-status

如果您输入了这些字段名中的任意一个,会收到 暂不支持配置此类头部! 错误,示意图如下:

alt

操作步骤

  1. 登录火山引擎视频点播控制台,进入空间。

  2. 选择左侧导航栏分发加速设置 > 域名管理,进入域名管理页面。

  3. 选择点播加速域名页签,单击操作列的配置按钮。

  4. 进入加速域名配置页面,选择高级配置页签。

  5. 单击页面下方的修改配置按钮,在 HTTP 响应头设置下方,根据自身业务需求,单击添加规则按钮,进行规则配置。规则的详细说明如下表示。

    说明

    您最多可以添加 50 条规则。

    参数说明

    响应头部操作

    设置具体的操作。您可以设置以下值:

    • 设置:表示添加字段或者对已有字段设置特定值。
    • 删除:表示删除特定字段。

    响应头部名称

    设置一个需要添加或者删除的响应头字段。您可以设置任意的名称。系统也提供了常用的字段供您设置。详见常用字段。字段名称不能超过 1,024 个字符,可以包含除了以下字符的可打印 ASCII 字符:

    • 中文、下划线(_)、空格、双引号("),Delete(ASCII code 127)

    取值方式

    设置响应头字段的取值方式。您可以设置以下值:

    • 常量:表示响应头字段的值是一个固定值。您需要在响应头部取值中设置这个值。
    • 变量:表示响应头字段的值来自一个变量字段。您需要在响应头部取值列表中选择一个变量字段。该变量字段的值会作为响应头字段的值。参见变量字段

    响应头部取值

    设置该响应头字段的值。字段值不能超过 1,024 个字符,可以包含除了以下字符的可打印 ASCII 字符:

    • 中文、美元符号($),Delete(ASCII code 127)

    跨域校验

    表示在视频点播响应用户请求时,是否校验请求头中的 Origin 字段。您可以启用或者禁用该配置。

    说明

    该参数可设置,需要满足以下条件:

    • 规则中响应头部名称Access-Control-Allow-Origin
    • 规则中取值方式常量
    • 启用:表示视频点播会校验 Origin 字段。如果校验成功,视频点播会在响应头中包含 Access-Control-Allow-Origin 字段。字段值与 Origin 字段值相同。如果校验失败,响应头中不会包含 Access-Control-Allow-Origin 字段。
    • 禁用:表示视频点播不会校验 Origin 字段。在响应头中,视频点播将始终包含 Access-Control-Allow-Origin 头部和您配置的值。

    注意

    • 如果您设置 Access-Control-Allow-Origin 的值为 *。此时,无论跨域校验是否启用,响应头中 Access-Control-Allow-Origin 字段的值是 *

    示例:您的加速域名是 example.com。您在规则中设置 Access-Control-Allow-Origin 是一个常量,取值是 http://example.com,https://www.test.com。此时,一个用户请求访问您的加速域名。

    • 假设请求头中的 Origin 字段值是 https://www.test.com

      • 如果跨域校验是启用,响应头中的 Access-Control-Allow-Origin 字段的值是 https://www.test.com
      • 如果跨域校验是禁用,响应头中的 Access-Control-Allow-Origin 字段的值是 http://example.com,https://www.test.com

      在该情况下,用户可以访问您的加速域名。

    • 假设请求头中的 Origin 字段值是 https://www.abc.com

      • 如果跨域校验是启用,响应头中不会包含 Access-Control-Allow-Origin 字段。原因是域名不匹配。
      • 如果跨域校验是禁用,响应头中会包含 Access-Control-Allow-Origin 字段。该字段的值是 http://example.com,https://www.test.com

      在该情况下,用户无法访问您的加速域名。客户端会显示跨域访问失败的错误消息。

  6. 完成配置后,单击保存配置按钮。

变量字段

系统提供了以下变量字段。这些变量字段默认不会被包含在视频点播的响应中。

说明

以下列表中的这些变量字段是标准的 HTTP 变量,有实际的值以及含义。但是这些变量字段本身默认不会被包含在视频点播的响应中。在您设置一个响应头的名称时,您可以使用列表中任意一个名称不包含下划线(_)的变量字段,然后为该响应头设置一个任意值。也就是说,当您使用任意这些名称不包含下划线的变量字段作为响应头时,其值是可以被覆盖的。

字段名说明示例值
uri表示客户端请求的 URI。如果 URI 本身包含参数,则会删除问号(?)以及问号后面的参数。/dir/volcano.php
request_uri表示客户端请求的 URI。如果 URI 本身包含参数,则保留问号(?)以及问号后面的参数。/dir/volcano.php?color=red&n=10
raw_uri与 uri 字段的说明相同。
remote_addr表示发送请求的客户端 IP 地址。10.10.10.10
remote_port表示客户端请求使用的端口号。443
host表示客户端请求头中的 host 字段的值。www.example.com:8080
http_host与 host 字段的说明相同。
args表示客户端请求 URI 的参数部分,但是不包含参数前的问号(?)。color=red&n=10
msec表示客户端请求发送的时间。格式是十进制的 Unix 时间戳。1650558396
scheme表示客户端请求发送时使用的协议。https

常用字段

您可以从列表中选择常用的字段进行设置。这些常用字段的说明如下:

说明

这些字段是标准的 HTTP 响应头。如果响应头的值是合法的,浏览器会根据响应头做相应处理。您也可以将这些字段作为自定义字段来使用,赋予这些参数任意值。例如,您可能需要设置 Access-Control-Allow-Origin 的值为 helloworld 作为特殊用途。

字段名说明示例值
Access-Control-Allow-Origin指定跨域请求可以访问的站点,支持泛域名。多个站点使用逗号(,)分隔。https://www.another-site.com
Access-Control-Allow-Methods指定跨域请求可以使用的 HTTP 请求方法。多个方法使用逗号(,)分隔。GET
Access-Control-Allow-Headers指定跨域请求可以包含的 HTTP 请求头。多个请求头使用逗号(,)分隔。X-Custom-Header
Access-Control-Expose-Headers指定在视频点播的响应中,客户端可以访问哪些响应头。默认情况下,客户端可以访问的响应头有 Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedContent-Encoding。如果您需要客户端访问更多的响应头,可以在该字段中指定。多个响应头使用逗号(,)分隔。
Access-Control-Allow-Credentials指定跨域请求是否需要包含鉴权信息。鉴权信息包括 cookie,鉴权请求头或客户端 TLS 证书。true
Access-Control-Max-Age指定跨域请求时,客户端对请求内容发起的预检请求的缓存时间。单位是秒。在缓存时间内,客户端不用再次发送预检请求。3600
Cache-Control对于视频点播返回的内容,指定该内容在客户端的缓存方式。max-age=3600
Content-Disposition指示视频点播返回给客户端的内容是以下载的方式提供。并指定下载的文件名。attachment;filename=Demo.xlsx
Content-Language指示视频点播返回给客户端的内容语言。zh-CN
Content-Type指示视频点播返回给客户端的内容类型。text/plain
Pragma对于 HTTP/1.0,指示视频点播返回的内容在客户端的缓存方式。参数值只能是 no-cache,表示不缓存。no-cache