图解HTTP读书笔记.第三章

第三章

HTTP报文:分为请求报文和响应报文
是由多行数据构成的字符串报文。HTTP报文大致可以分为报文首部和报文主体两部分。两者有最初出现的CR+LF空行来划分。一般不需要有报文主体。

编码用来提高传输速率
报文:时HTTP通信就要中的基本单位,由8字节流组成,通过HTTP通信传输
实体:作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成

压缩传输的内容编码:内容编码知名应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接受并负责解码。常见的内容编码有:

  1. gizp (GNU zip)
  2. Compress (UNIX 系统的标准压缩)
  3. Deflate (zlib)
  4. Identity (不进行编码)

分割发送的分块传输编码:在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面(分块传输编码chunked transfer coding)每一块都用16进制标记大小,最后一块会用0(CR+LF)来标记

发送多种数据的多部分对象集合:
发送邮件时候可以写入文字并添加多份附件,是因为采用了MIME(Multipurpose internet mail extensions多用途因特网邮件扩展),允许邮件处理文本,图片,视频等多个不同类型的数据。
而HTTP协议也采纳了多部分对象集合,发送的一份报文主体中可含有多类型实体。在HTTP报文中使用多部分对象集合时,需要在首部字段中加上Content type???

获取部分内容的范围请求:
恢复指的是能从之前下载中断处恢复下载:需要制定下载的实体范围,指定范围发送的请求叫做范围请求,如对一个10000字节大小的大小,使用范围请求只可请求5001-10000字节内的资源
对范围请求,响应会反回206 partial content的响应报文,若无法响应,则返回200 OK和完整的实体内容

内容协商返回最合适的内容:
同一网站但可以使用不同的语言称为内容协商(content negotiation)
内容协商指的是客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最合适的资源
其类型有三种:

  1. 服务器驱动协商
  2. 客户端启动协议
  3. 透明协商
发布了47 篇原创文章 · 获赞 10 · 访问量 1752

猜你喜欢

转载自blog.csdn.net/Antonio_Salieri/article/details/94331768