You need to enable JavaScript to run this app.
导航
HTTP Header
最近更新时间:2024.03.15 16:03:23首次发布时间:2023.03.29 17:46:08

缓存节点在响应用户请求时,源站的响应头会被透传。您可以通过配置 HTTP 响应头,在用户在访问资源时,使缓存节点返回的响应消息携带上配置的响应头,从而实现某些特定的功能。

适用场景

  • 缓存控制:支持通过配置如 Cache-ControlExpires 来控制客户端时否缓存响应内容及缓存有效期,减少重复请求,提高性能。
  • 跨域资源共享:支持通过配置如 Access-Control-Allow-OriginAccess-Control-Allow-Methods 等相关头,控制跨域请求的访问权限,使客户端可以安全地从其他域名获取 Web 资源。

注意事项

  • HTTP 响应头配置仅会影响客户端(浏览器)的响应行为,不影响缓存节点的缓存行为。
  • HTTP 响应头配置为域名维度的配置,一旦配置生效,便会对域名下所有资源的响应消息生效。

支持配置的响应头

veImageX 支持以下几种 HTTP 响应头进行自定义取值:

参数解释示例
Cache-Control指定浏览器请求和响应遵循的缓存机制。max-age:3600
Content-Disposition激活自定义资源下载设置以及下载时默认文件名。attachment;filename=Demo.xlsx
Content-Language指定资源在客户端(如浏览器)响应的语言。zh-CN

Access-Control-Allow-Origin

指定跨域请求时,允许访问资源的请求来源。输入多个站点时使用逗号,分隔。

说明

响应头值支持泛域名。

https://www.another-site.com

Access-Control-Allow-Methods指定跨域请求时,允许的跨域请求方法。多个方法使用逗号,分隔。GET
Access-Control-Max-Age指定跨域请求时,对特定资源的预请求返回结果的缓存时间。3600

Access-Control-Expose-Headers

指定允许访问的自定义头信息。默认情况下,客户端可以访问的响应头有 Cache-ControlContent-LanguageContent-TypeExpiresLast-Modified

Content-Encoding

说明

如果您需要客户端访问更多的响应头,可以在该字段中指定。多个响应头使用逗号,分隔。

操作步骤

说明

若您的响应头配置项由于某些原因(如启用了非标配置)被锁定,锁定后界面将展示锁定图标。您可提交工单联系技术支持修改配置。

  1. 登录 veImageX 控制台,单击服务管理。选择相应的图片服务,单击基础配置

  2. 分发配置页签的域名信息中,单击域名的管理按钮。

  3. 在配置页面,单击高级配置并进入页面后。选择 HTTP Header 配置,单击编辑按钮,并按照下表配置说明进行配置。

    配置说明

    响应头部操作

    设置具体的操作。

    • 设置:表示添加字段或者对已有字段设置特定值。如果您需要在响应头中添加字段,可以通过该操作进行配置。如果在匹配时发现响应头中已存在该字段,已有的字段值会被覆盖。匹配时不区分大小写。比如您添加了字段 X-Test:123,但是源站响应头中已存在字段 x-test:456。此时,缓存节点的响应头中该字段会更新为 x-test:123
    • 删除:表示删除特定字段。如果您不需要源站响应头中的某些字段,可以通过该操作进行配置。在边缘节点响应用户请求时,响应头中就不会包含这些字段。
    响应头部名称设置一个需要添加的响应头字段。系统已提供了常用的字段供您设置,参见支持配置的响应头
    取值设置该响应头字段的值。字段值不能超过 1,024 个字符,可以包含除美元符号($),Delete(ASCII code 127)外的可打印 ASCII 字符。

    跨域校验

    veImageX 响应用户请求时,是否校验请求头中的 Origin 字段。仅当响应头部名称是 Access-Control-Allow-Origin 时,支持启用或者禁用该配置。

    • 开启:veImageX 会校验 Origin 字段。
      • 如果校验成功,响应头中会包含 Access-Control-Allow-Origin 字段。字段值与 Origin 字段值相同;
      • 如果校验失败,响应头中不会包含 Access-Control-Allow-Origin 字段。
    • 关闭:(默认)veImageX 不会校验 Origin 字段。响应头中将始终包含 Access-Control-Allow-Origin 头部和您配置的值。

    注意

    如果您设置 Access-Control-Allow-Origin 的值为 *,即示允许请求 Origin 来自任意 IP 地址。此时,无论 跨域校验 是否开启,响应头中 Access-Control-Allow-Origin 字段的值始终是 *

    操作删除该条规则。
  4. 单击确定按钮,保存配置。

配置示例

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

  • 假设请求头中的 Origin 字段值是 https://www.image.com
    • 如果 跨域校验 是启用,响应头中的 Access-Control-Allow-Origin 字段的值是 https://www.image.com
    • 如果 跨域校验 是禁用,响应头中的 Access-Control-Allow-Origin 字段的值是 http://example.com,https://www.image.com
      在该情况下,用户可以访问您的加速域名。
  • 假设请求头中的 Origin 字段值是 https://www.abc.com
    • 如果 跨域校验 是启用,响应头中不会包含 Access-Control-Allow-Origin 字段。原因是域名不匹配。
    • 如果 跨域校验 是禁用,响应头中会包含 Access-Control-Allow-Origin 字段。该字段的值是 http://example.com,https://www.image.com
      在该情况下,用户无法访问您的加速域名。客户端会显示跨域访问失败的错误消息。

OpenAPI

您可以通过调用 OpenAPI 更新 HTTP Header 配置,具体请参考 UpdateResponseHeader