1、http1.0和http1.1的区别
① 1.1支持长连接和请求的流水线处理,在同一个TCP连接中可以传送多个HTTP请求和响应,多个请求和响应可以重叠;
1.0 短连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后,立即断开TCP连接,并且无记录。
② 1.1增加host字段
在1.0中认为每台服务器都绑定一个唯一的IP地址,请求消息中的URL并没有主机名(host),但是随着虚拟机技术的发展,一台物理机可以存放多个虚拟机,并且他们共享一个IP;
1.1的请求消息和响应消息都应支持Host头域,请求消息中如果没有Host头域会400报错。
③ 增加状态码100(contine)--节约带宽
客户端事先发送一个只带头域的请求,如果服务器拒绝请求,就回送响应码401,如果接受,则回送码100,客户端就可以继续发送带实体的完整请求。
④ 1.1 发送方将消息分割成若干个任意大小的数据块,每个数据块在发送时都附上块的长度,最后用一个零长度的块作为消息结束的标志,这种方法允许只发送消息里的一个片段。
⑤ 1.1增加cache属性。
http2比http1的优势
- http2采用二进制格式传输,而非http1文本格式,二进制格式在协议的解析和优化扩展上带来了很多优势
- http2对消息头采用Hpack进行压缩传输,节省网络流量,Http1每次请求都会携带冗余的头消息,浪费带宽资源
- http2采用Server Push,服务器能够更快的把资源推送