请求和响应

  • HTTP报文:请求报文和响应报文

HTTP报文本身就是由多行数据构成的字符串文本
报文首部:服务器端/客户端需求处理的请求或者响应的内容以及属性
报文主体:数
【图解HTTP】——HTTP报文内的http信息

  • 请求报文的结构:
    【图解HTTP】——HTTP报文内的http信息
    【图解HTTP】——HTTP报文内的http信息
  • 响应报文的结构:
    【图解HTTP】——HTTP报文内的http信息
    【图解HTTP】——HTTP报文内的http信息

编码

  • HTTP可以按照数据的原样传输,也可以在过程中编码以提升传输效率,这样可以有效处理大量访问,但会消耗大量的CPU资源
  • 例如:压缩编码…

报文主体和实体主体的差异

  • 报文message:HTTP通信的基本单位,8位字节流组成
  • 实体entity:数据

通常:报文主体 = 实体主体,只有当进行传输编码时实体主体会发生变化

常见编码

【1】压缩传输的内容编码

【图解HTTP】——HTTP报文内的http信息

  • 常见的内容编码:gzip,compress,defate,identity

【2】分块传输编码(Chunked Transfer Coding)

  • 通过将数据切分成多块,能够让浏览器逐步显示页面
    【图解HTTP】——HTTP报文内的http信息

【3】多部份对象集合Multipart

  • MIME(多用途因特网邮件扩展机制):允许邮件处理文本、图片、视频等多个不同的类型的数据
  • HTTP采用了多部份对象集合方法,一份报文包含多个类型的实体

范围请求

  • 以前没有高带宽的互联网,下载一个尺寸稍微大的文件都会很吃力,如果遇到网络终端则要重头开始
  • 范围请求:可恢复机制,对下载的内容范围可以设置,从中断的地方重新开始

内容协商

  • 同一个Web网站会存在多个相同页面,例如:不同的语言的页面
  • 内容协商机制:服务器端和客户端对响应的资源内容进行交涉返回最适合的资源
  • 首部:

Accept
Accept - Charset
Accept - Encoding
Accept - Language
Content - Language

  • 三种协商类型:

服务器驱动协商(server自动处理)
客户端驱动协商(用户选择)
透明协商(两种驱动结合)

相关文章: