请求和响应的运行
1、HTTP报文
HTTP报文可以分为两部分:报文首部和报文主体;他们之间通过空行+回车符+换行符来划分,报文主体不一定存在。如:HEAD请求。
2、请求报文及响应报文的结构
请求行
请求方法、请求URI、HTTP版本
状态行
响应码、原因短语、HTTP版本
首部字段
请求和响应的各种条件和属性的各类首部
通用首部、请求首部、响应首部和实体首部
其他
未定义的首部(自行扩展的头部分)
3、编码提升传输速率
3.1、报文主体和实体主体的差异
报文:
是HTTP通信的基本单位,由8位组字节流组成,通过HTTP通信传输。
实体:
请求和响应的有效载荷数据被传输,由实体首部和实体主体构成。
HTTP报文的主体用于传输请求或响应的实体主体
通常理解报文主体等于实体主体,只有在传输编码处理时实体主体的内容发生变化,才会导致它和报文主体产生差异。
3.2 压缩传输的内容编码
一般为了传输速度更快我门需要对传输的数据进行压缩;
在客户端进行编码在服务端进行解码
常见的编码方式有:
GZIP、compress、defate、identity(不进行编码)
3.3分割发送的分块传输编码
4、发送多种数据
5、获取部分的范围请求
当一个下载的文件过大时,可以分部分获取;通过Range头获取。
响应请求会返回206 Partial Content
如果服务端不支持则会返回全部的实体内容和200 OK的状态
6、内容协商返回合适的内容
内容协商的技术:
服务器驱动协商
通过请求的首部字段位参考
客户端驱动协商
通过javaScript执行选择
透明协商
上面的结合体,他么协商一种方式进行显示。