初窥http(3)——浅析http报文

 今天一天给18级新生讲算法,但是呢日更还是得维持,所以就晚上更新一个简单一点的内容。今天的内容主要浅要分析http报文

一 请求报文和结构

 由上图可知,请求报文和响应报文的内容由下面的数据组成。

  1. 请求行

     用于表示请求的方法,请求的URI和HTTP版本
  2. 状态行

     包含表明响应结果的状态码,原因短语和 HTTP 版本。
  3. 首段字段

     包含表示请求和响应的各种条件和属性的各类首部。

     一般有4种首部,分别是:通用首部、请求首部、响应首部和实体 首部。
  4. 其他

     可能包含 HTTP 的 RFC 里未定义的首部(Cookie 等)

二 HTTP传输与压缩

 在http协议中有一种被称为内容编码的功能可以进行内容压缩。常用的内容编码如下:

  • gzip(GNU●zip)
  • compress(UNIX 系统的标准压缩)
  • deflate(zlib)
  • identity(不进行编码)

三 分割发送的分块编码

 分块传输编码会将实体主体分成多个部分(块)。每一块都会用十六进制来标记块的大小,而实体主体的最后一块会使用“0(CR+LF)” 来标记。

 使用分块传输编码的实体主体会由接收的客户端负责解码,恢复到编码前的实体主体。

 HTTP/1.1 中存在一种称为传输编码(Transfer Coding)的机制,它可以在通信时按某种编码方式传输,但只定义作用于分块传输编码中。

四 获取部分内容的范围请求

 http协议中该部分的功能是为了在网速较慢的情况下,能够对大文件断点重传。通过在首部定义Range字段即可完成该功能。

1
2
Range: bytes=5001-10000  单范围
Range: bytes=-3000, 5000-7000 多范围
# http
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×