内容分发网络CDN

    设置HTTP头

    概述

    HTTP头设置功能支持您自定义或添加可选CDN节点到客户端的response(HTTP响应头)、CDN节点到源站的request(HTTP请求头)中的header信息。

    背景信息

    当客户的网站接入CDN后,由于客户端和源站会根据HTTP header的字段信息进行相关的行为处理,所以客户有修改HTTP header的需求。百度智能云CDN支持CDN节点到客户端的response(HTTP响应头)、CDN节点到源站的request(HTTP请求头)中的header信息修改。

    HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。

    注意事项

    • 每个域名最多可以配置20个HTTP头信息。
    • 配置、修改或删除HTTP头预计10分钟内生效,生效后才可以看到新的配置结果。
    • HTTP头的取值最大长度为128,支持英文字符、数字和特殊字符。
    • HTTP头的描述最大长度为128,Utf-8编码格式,支持中文,数字,特殊字符。
    • 可以通过用户请求头中的accept-encoding字段设定CDN输出的静态文件有gzip压缩功能。

    常用HTTP响应头

    常用HTTP响应头如下:

    参数 解释
    Cache-Control 指定浏览器请求和响应遵循的缓存机制
    Expires 指定浏览器响应对象的过期时间
    Content-Type 指定浏览器响应对象的内容类型
    Content-Disposition 激活自定义资源下载设置,以及下载时默认文件名
    Content-Language 指定资源在客户端(如浏览器)响应的语言
    Access-Control-Allow-Origin 指定跨域请求时,允许访问资源的请求来源
    Access-Control-Allow-Methods 指定跨域请求时,允许的跨域请求方法
    Access-Control-Max-Age 指定跨域请求时,对特定资源的预请求返回结果的缓存时间
    Access-Control-Expose-Headers 指定允许访问的自定义头信息

    设置HTTP头

    1. 登录 CDN管理控制台,在控制台左侧导航选择 域名管理
    2. 域名管理 页,选择需要设置HTTP头的域名,在最右侧操作栏单击 管理,如下图所示。

      image.png

    3. 域名详情 页,单击 高级配置,如下图所示。

      image.png

    4. 高级配置 页的 自定义HTTP头配置 处,点击 添加HTTP头

      image.png

      配置项 说明
      类型 您可选择 节点到端response生效 设置HTTP响应头,选择 节点到源站request生效 设置HTTP请求头。
      HTTP头 除了支持设置 常用HTTP头 外,还支持输入自定义的HTTP头。
      您需要设置HTTP头对应的值,大小写敏感。例如:HTTP头设置为Content-Language,您可以设置对应值为zh-CN。
      描述 您可以为HTTP头增加描述,便于记录管理HTTP头。

    注意:

    • 当资源在节点未命中时会进行回源,此时源站返回的头部信息会一起返回给用户。
    • 由于 HTTP响应头配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置头部。
    • 配置 HTTP响应头仅影响客户端的响应行为,不会影响到 CDN 节点的缓存行为。
    1. 完成配置后,点击 确定
    2. 在HTTP头列表中,您可以单击 编辑删除,对当前配置的HTTP头进行相应操作。

      image.png

    配置影响

    在控制台配置完HTTP头后,在使用当前域名进行请求或者访问返回代码中会携带配置的http头参数。如设置常见HTTP头参数如下:Content-Language为english,Expires为20,在使用curl请求时结果如下:

    • 请求示例(以www.baidu.com域名为例)

      > GET / HTTP/1.1
      > Host: www.baidu.com
      > User-Agent: curl/7.43.0
      > Accept: */*
    • 返回示例

      < HTTP/1.1 200 OK
      < Server: bfe/1.0.8.18
      < Date: Thu, 23 Mar 2017 08:31:37 GMT
      < Content-Type: text/html
      < Content-Length: 2381
      < Last-Modified: Mon, 23 Jan 2017 13:27:30 GMT
      < Connection: Keep-Alive
      < ETag: "588604c2-94d"
      < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
      < Pragma: no-cache
      < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
      < Accept-Ranges: bytes
      < Content-Language: english
      < Expires: 20

      返回示例的最后两行可以看到已经携带HTTP的设置参数。

    相关API

    上一篇
    ipv6开关配置
    下一篇
    设置视频拖拽