HTTP报文
HTTP报文由报文首部和报文主体构成,报文主体通常是可选的
请求报文及响应报文的结构
参考我之前的文章 HTTP简要
编码提升传输速率
-
压缩传输内容的编码
报文:由8位字节流组成,用于HTTP传输
实体:作为请求或响应的有效荷载体,其内容由实体首部和实体主体组成,
通常情况下,报文主体等于实体主体,只要当实体主体的内容被编码时才不一致。
就像发送带附件的邮件时通常会采用zip压缩一样,HTTP传输数据时为了能够快速高效,会在传输过程中采用编码压缩。
常用的编码方法有- gzip
compress
deflate
分块传输编码
加载网页的时候,对应内容比较大的数据会把服务器会把内容切割成多个块,然后浏览器逐步加载这些内容。
这种把实体分块传输的功能叫做分块传输编码(Chunked Transfer Coding)
发送多种数据的多部分对象集合
我们发送邮件通常会带图片和文字,类似于发送图文邮件,HTTP中也有这样的数据集合:多部分对象集合。
获取部分内容的范围请求
下载大文件的时候,如果下载中断,想要继续下肯定不想从头开始下载,那么能记住之前加载到了哪里,下回直接从这个中断的地方继续下载不就OK了吗?这就是获取部分内容的范围请求
使用
Ranege:5001-10000
代表了请求5001-10000的数据
内容协商返回最何时的内容
最简单的例子就是,根据浏览器的默认语言选择网站的语言版本。具体来说由下列字段确定
- Accept
- Accept-Charset
- Acept-Encoding
- Accept-Language
- Content-Language