图解HTTP--3、HTTP报文内的HTTP信息

122 阅读1分钟

1、HTTP报文

HTTP报文分为请求报文和响应报文,报文由多行数据构成的字符串文本(用CR+LF来划分)

2、编码

HTTP中有一种内容编码功能,内容编码后的实体由客户端进行解码。

常见的内容编码有以下几种

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

HTTP通信中,把实体主体分块传输,这种分块传输称为分块编码传输

3、多部分对象集合

MIME(Multipurpose Internet Mail Extensions,多用途因特网邮件扩展),允许邮件可以处理文本、图片、视频等多个不同类型的数据

HTTP采用多部分对象集合,发送一份报文主体内可以含有多类型实体。多部分对象集合包含的对象如下:

  • multipart/form-data,表单文件上传时使用
  • multipart/byteranges,状态码206,部分内容响应报文包含了多个范围的内容是使用

获取多部分内容范围请求

//5001-10000字节
Range: btyes=5001-10000

//从5001字节之后全部的
Range: btyes=50001-

//多重范围
Range: btyes=0-3000, 5000-7000

4、内容协商返回最合适的内容

内容协商是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为合适的资源

包含在请求报文中的某些字段作为判断标准

  • Accept
  • Accept-Charset
  • Accept-Encodeing
  • Accept-Language
  • Content-Language