Http Header的用途在于携带HTTP Request
和HTTP Response
的元数据信息的Name:Value
数据(Name不区分大小写,通常都采用首字母大写,-
分隔的写法,比如Content-Type
)。按其用途可以分为如下4类:
- 通用类:描述请求和响应的。
- 请求类:描述请求的。
- 响应类:描述响应的。
- 表述类:描述请求和响应的
Body
部分的。
HTTP APIs中常用到的Headers:
Header | 描述说明 | 示例 |
---|---|---|
Accept | 客户端期望服务器返回的数据格式。 | Accept:application/json |
Accept-Charset | 客户端期望服务器返回的数据的字符集。 | Accept-Charset:utf-8 |
Content-Type | 描述Body 的数据类型。 |
Content-Type:application/json |
Content-Encoding | 描述Body 的编码方式。 |
Content-Encoding: gzip |
Content-Length | 描述Body 的长度。 |
Content-Length: 1234 |
Location | Response 中提供给客户端的连接 |
Location: /user/1 |
HTTP Request:
POST /xxx HTTP/1.1
Accept: application/json;
Accept-Charset: utf-8
Content-Type: application/json;charset=utf-8
{
"x":1,
"y":2
}
HTTP Response:
HTTP/1.1 201 Created
Content-Type: application/json;charset=utf-8
Content-Encoding: gzip
Location: /xxx/1
Request-Id: {id}
Request-Id
可以由Http Request
传入,也可以由服务端生成,追加此信息到log
中,便于服务端追踪请求。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers