Skip to content
On this page

对于 TCP 而言,在传输的时候分为两个部分: TCP 头数据部分

而 HTTP 类似,也是 header + body 的结构,具体而言:

ts
起始行 + 头部 + 空行 + 实体;
Details

起始行

对于请求报文来说:

ts
GET /home HTTP/1.1

也就是方法 + 路径 + http 版本

对于响应报文来说,起始行一般长这个样:

ts
HTTP/1.1 200 OK

http 版本 + 状态码 + 原因

头部

不管是请求头还是响应头,其中的字段是相当多的,而且牵扯到 http 非常多的特性,这里就不一一列举的,重点看看这些头部字段的格式:

  • 字段名不区分大小写
  • 字段名不允许出现空格,不可以出现下划线 _
  • 字段名后面必须紧接着 :

空行

空行 用于区分头部实体

如果说在头部中间故意加一个空行会怎么样?

那么空行后的内容全部被视为实体。

实体

就是具体的数据了,也就是 body 部分。请求报文对应请求体, 响应报文对应响应体。

Released under the MIT License.