早期的HTTP协议工作机制比较简单,默认情况下HTTP协议中每个TCP连接只能承载一个HTTP请求和响应,浏览器发送一个请求给服务器,服务端回复完成后随即断开连接,当浏览器需要请求新的资源时,需要重新建立TCP连接。随着Web技术的发展,网页文件中包含越来越多文件,尤其是图片和媒体文件,这会导致浏览器获取服务器资源的效率降低。HTTP1.1增加了长连接机制,在建立TCP连接后,只要一方不显式断开连接,TCP连接就不会断开。这样后续资源请求均可基于之前的TCP连接,减少了TCP连接建立和断开的时间,有利于加快网页文件响应速度。
HTTP1.1还增加了管线化支持,引入管线化机制之前,浏览器和服务端采用一问一答的形式,浏览器在收到上一个HTTP请求的回复后才能发送HTTP下一个请求,基于管线化技术可以将多个HTTP请求一次性填充在一个TCP包内一次性提交给服务器,在发送过程中不需要等待服务端对上一个请求的回复,减少了网络上传输的TCP数据包,减轻了网络负载。HTTP管线化基于长连接实现,需要浏览器和服务器两者配合才能实现。
管线化技术可以加快网页文件的加载时间,尤其在具有高延迟的网络连接环境中,在速度较快的网络连接环境中,管线化技术可能提速不明显,首先只有GET和HEAD等请求可以进行管线化,POST请求不能进行管线化,使用场景有限;其次,服务器端要按照请求顺序回复,这有可能会导致队头阻塞问题。
当前文章:
企业网站建设长连接和HTTP管线化
网站链接:
http://6mz.cn/view/134903.html