1、HTTP1.0 HTTP 1.1主要区别html
1.1 长连接web
HTTP 1.0须要使用keep-alive参数来告知服务器端要创建一个长链接,而HTTP1.1默认支持长链接。算法
缓存
1.2 节约带宽服务器
HTTP 1.1支持只发送header信息(不带任何body信息),若是服务器认为客户端有权限请求服务器,则返回100,不然返回401。客户端若是接受到100,才开始把请求body发送到服务器。网络
这样当服务器返回401的时候,客户端就能够不用发送请求body了,节约了带宽。并发
另外HTTP还支持传送内容的一部分。这样当客户端已经有一部分的资源后,只须要跟服务器请求另外的部分资源便可。这是支持文件断点续传的基础 性能
1.3HOST域spa
如今能够web server例如tomat,设置虚拟站点是很是常见的,也便是说,web server上的多个虚拟站点能够共享同一个ip和端口。code
HTTP1.0是没有host域的,HTTP1.1才支持这个参数。
2、 HTTP 1.一、*HTTP2.0*主要区别
2.1 多路复用
HTTP2.0使用了多路复用的技术,作到同一个链接并发处理多个请求,并且并发请求的数量比HTTP1.1大了好几个数量级。
固然HTTP1.1也能够多创建几个TCP链接,来支持处理更多并发的请求,可是建立TCP链接自己也是有开销的。
TCP链接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。所以对应瞬时并发的链接,服务器的响应就会变慢。因此最好能使用一个创建好的链接,而且这个链接能够支持瞬时并发的请求。
2.2 数据压缩
HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。
2.3 服务器推送
当咱们对支持HTTP2.0的web server请求数据的时候,服务器会顺便把一些客户端须要的资源一块儿推送到客户端,省得客户端再次建立链接发送请求到服务器端获取。这种方式很是合适加载静态资源。
服务器端推送的这些资源其实存在客户端的某处地方,客户端直接从本地加载这些资源就能够了,不用走网络,速度天然是快不少的。
服务端推送过来的资源,会统一放在一个网络与http缓存之间的一个地方,在这里能够理解为“本地”。当客户端把index.html
解析完之后,会向本地请求这个资源。因为资源已经本地化,因此这个请求的速度很是快,这也是服务端推送性能优点的体现之一。