长连接和HTTP管线化。早期的HTTP协议工作机制比较简单,默认状况下HTTP协议中每一个TCP连接只能承载一个HTTP请求和响应,浏览器发送一个请求给服务器,服务端回复完成后随即断开连接,当浏览器需要请求新的资源时,需要重新打造TCP连接。伴随Web技术的进步,网页文件中包括愈加多文件,特别是图片和媒体文件,这会致使浏览器获得服务器资源的效率减少。HTTP1.1增加了长连接机制,在打造TCP连接后,只须一方不显式断开连接,TCP连接就不会断开。如此后续资源请求均可基于之前的TCP连接,降低了TCP连接打造和断开的时间,有益于加快网页文件响应速度。 HTTP1.1还增加了管线化支持,引入管线化机制之前,浏览器和服务端使用一问一答的形式,浏览器在收到上一个HTTP请求的回复后才能发送HTTP下一个请求,基于管线化技术可以将多个HTTP请求一次性填充在一个TCP包内一次性提交给服务器,在发送过程中无需等待服务端对上一个请求的回复,降低了互联网上传输的TCP数据包,减轻了互联网负载。HTTP管线化基于长连接达成,需要浏览器和服务器两者配合才能达成。
管线化技术可以加快网页文件的加载时间,特别在具备高延迟的互联网连接环境中,在速度较快的互联网连接环境中,管线化技术可能提速不明显,第一只有GET和HEAD等请求可以进行管线化,POST请求不可以进行管线化,用场景有限;第二,服务器端要根据请求顺序回复,这或许会致使队头阻塞问题。