HTTP1.0最早在网页中使用是在1996年。
而HTTP1.1在1999年才开始广泛应用,HTTP1.1也是当前使用最为广泛的HTTP协议。
他俩的主要区别有:
- HTTP1.1支持长连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的开销。而HTTP1.0则是每次请求都要创建连接。
- HTTP1.1引入了更多的缓存控制策略
- HTTP1.1在请求头引入了range头域,允许只请求资源的某个部分
- HTTP1.1新增了24个错误状态响应码,对错误通知的管理比1.0更丰富
- HTTP1.1的请求消息和响应消息都支持Host头域,而HTTP1.0则认为每台服务器都绑定一个唯一的IP地址,所以请求消息中的URL并没有传递主机名。但是随着虚拟主机技术的发展,HTTP1.0的这种方式不能满足了,因为一台物理服务器上可以存在多个虚拟主机,它们共享一个IP地址。
HTTP2.0在性能上有了很大的提升,它的主要改动和优化列举如下:
- 采用二进制格式传输数据
- 多路复用:允许同时通过单一的HTTP/2链接发起多重的请求-响应消息。
- 首部压缩:对消息头采用HPACK进行压缩传输,节省消息头占用的网络的流量。
- 服务端推送:服务端可以主动推送文件资源给客户端,而不需要客户端解析HTML再发送请求,用于获得资源。