这一部分基本上是《图解HTTP》这本书第三、六章的笔记,获取更多信息可以查看原书,建议支持正版

HTTP 报文

定义

  • HTTP报文:用于HTTP协议交互的信息。
  • 请求端发出的报文叫请求报文,响应端发出的报文叫响应报文

    组成

  • HTTP报文本身是由多行数据(用CR+LF作换行符)构成的字符串文本

  • HTTP报文分为报文首部报文主体两块,两者以空行(CR+LF)划分。
  • HTTP报文不一定要有报文主体。

HTTP报文.png

请求报文和响应报文

请求报文和响应报文.png

  • 请求行:包含用于请求的方法、请求URL和HTTP版本。
  • 状态行:包含表明响应状态的状态码、原因短语和HTTP版本。
  • 首部字段:包含表示请求和响应的各种条件和属性的各类首部。
  • 其他:可能包含HTTP的RFC里未定义的首部(cookie等)。

HTTP 首部

HTTP协议的请求和响应报文中必定包含HTTP首部。

HTTP 首部字段传递重要信息

  • 首部字段起到传递额外重要信息的作用。

屏幕快照 2020-03-11 下午6.45.17.png

HTTP 首部字段结构

  • 首部字段结构:首部字段名: 字段值(可以有多个值)
  • 例如:Content-Type: text/html
  • 再例如:Keep-Alive: timeout=15, max=100

HTTP 首部字段类型

  • 通用首部字段:请求报文和响应报文都会使用的首部。
  • 请求首部字段:补充了请求的附加内容、客户端信息、相应内容优先级。
  • 响应首部字段:补充了响应的附加内容、也会要求客户端附加额外的内容信息。
  • 实体首部字段:针对实体部分使用的首部,补充了资源更新时间等于实体有关的信息。

HTTP 首部字段

通用首部字段

屏幕快照 2020-03-11 下午6.58.14.png

请求首部字段

屏幕快照 2020-03-11 下午6.58.46.png

响应首部字段

屏幕快照 2020-03-11 下午6.58.58.png

实体首部字段

屏幕快照 2020-03-11 下午6.59.10.png

为cookie服务的首部字段

屏幕快照 2020-03-11 下午7.04.31.png
屏幕快照 2020-03-11 下午7.05.03.png

关于各个首部的讲解此处不予赘述,请参见原书。