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