Skip to content
This repository has been archived by the owner on Oct 2, 2021. It is now read-only.

Latest commit

 

History

History
67 lines (46 loc) · 2.26 KB

http-header.md

File metadata and controls

67 lines (46 loc) · 2.26 KB

HTTP Headers

Http Header的用途在于携带HTTP RequestHTTP Response的元数据信息的Name:Value数据(Name不区分大小写,通常都采用首字母大写,-分隔的写法,比如Content-Type)。按其用途可以分为如下4类:

  1. 通用类:描述请求和响应的。
  2. 请求类:描述请求的。
  3. 响应类:描述响应的。
  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

https://tools.ietf.org/html/rfc7231#section-5

https://tools.ietf.org/html/rfc7231#section-7