设置HTTP头
更新时间:2023-08-16
概述
HTTP头设置功能支持您来改写源站响应报文中的HTTP Header和客户端请求中的HTTP Header信息,可以添加、删除、修改HTTP请求头/响应头。
背景信息
当您的网站接入CDN后,由于客户端和源站会根据HTTP header的字段信息进行相关的行为处理,所以您会有修改HTTP header的需求。百度智能云CDN支持您对HTTP请求头和响应头的修改。
注意事项
- 每个域名最多可以配置20个HTTP头信息。
- 添加、修改或删除HTTP头预计10分钟内生效。
- HTTP头的值最大长度为160,支持英文字符、数字和特殊字符。
- HTTP头的描述最大长度为100,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 | 指定允许访问的自定义头信息 |
自定义响应头如下:
参数 | 解释 |
---|---|
cdn-source | CDN厂商代号 |
cdn-ip | CDN节点IP |
cdn-user-ip | 用户IP |
自定义请求头如下:
参数 | 解释 |
---|---|
cdnfrom | CDN厂商代号 |
Cdn-Src-Ip | 用户IP |
设置HTTP头
- 登录 CDN管理控制台,在控制台左侧导航选择 域名管理。
-
在 域名管理 页,选择需要设置HTTP头的域名,在最右侧操作栏单击 管理,如下图所示。
-
在 域名详情 页,单击 高级配置,如下图所示。
-
在 高级配置 页的 自定义HTTP头配置 处,点击 添加HTTP头。
配置项 说明 类型 您可选择 设置HTTP响应头 或者 HTTP请求头。 HTTP头 除了支持设置 常用HTTP头 外,还支持输入自定义的HTTP头。 值 您需要设置HTTP头对应的值,大小写敏感。例如:HTTP头设置为Content-Language,您可以设置对应值为zh-CN。 还可以设置值为变量,目前支持7个变量值:${uri},${host},${scheme},${request_uri},${jvip},${remote_addr} 描述 您可以为HTTP头增加描述,便于记录管理HTTP头。
注意:
- 当资源在节点未命中时会进行回源,此时源站返回的头部信息会一起返回给用户。
- 由于 HTTP响应头配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置头部。
- 配置 HTTP响应头仅影响客户端的响应行为,不会影响到 CDN 节点的缓存行为。
变量值解释:
- ${jvip}表示节点IP。
- ${remote_addr}表示客户端IP,存在代理的情况下不准确。
配置示例:
- 完成配置后,点击 确定。
-
在HTTP头列表中,您可以单击 编辑或 删除,对当前配置的HTTP头进行相应操作。
配置影响
在控制台配置完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
- 您可通过 设置HttpHeader 接口 添加指定加速域名的Http Header。
- 您可通过 查询HttpHeader 接口 查询指定加速域名设置的Http Header。