http/1.1://v.youku.com/v_show/id_XMzc0NDMzNTE2.html 求此视频背景音乐 512474212@qq.com



http/1.1 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接而http/1.11.1默认支持长连接。

http/1.1是基于TCP/IP协议的创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话对性能有影响。因此最好能维持一个长连接可以用个长连接来发多个请求。



http/1.1 1.1支持只发送header信息(不带任何body信息)如果服务器认为客户端有权限请求服务器,则返回100否则返回401。客户端如果接受到100才开始把请求body发送到服务器。

这样当服务器返回401的时候客户端就可以不用发送请求body了,节约了带宽

另外http/1.1还支持传送内容的一部分。这样当客户端已经有一部分的资源后只需要跟服务器请求另外的部分资源即可。这是支持文件断点续传的基础



现在可以web server例如tomat,设置虚拟站点是非常常见的也即是说,web server上的多个虚拟站点可鉯共享同一个ip和端口




http/1.12.0使用了多路复用的技术,做到同一个连接并发处理多个请求而且并发请求的数量比http/1.11.1大了好几个数量级。

當然http/1.11.1也可以多建立几个TCP连接来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的

TCP连接有一个预热和保护的过程,先检查数据昰否传送成功一旦成功过,则慢慢加大传输速度因此对应瞬时并发的连接,服务器的响应就会变慢所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求

关于多路复用,可以参看



http/1.11.1不支持header数据的压缩,http/1.12.0使用HPACK算法对header的数据进行压缩这样數据体积小了,在网络上传输就会更快



意思是说,当我们对支持http/1.12.0的web server请求数据的时候服务器会顺便把一些客户端需要的资源┅起推送到客户端,免得客户端再次创建连接发送请求到服务器端获取这种方式非常合适加载静态资源。

服务器端推送的这些资源其实存在客户端的某处地方客户端直接从本地加载这些资源就可以了,不用走网络速度自然是快很多的。



}

我要回帖

更多关于 http/1.1 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信