持久连接(http persistent connect)称为 http keep alive或者 http connect reuse ,它的特点是只要任意一端没有明确断开连接,就保持TCP连接状态。
持久连接
在初期http1.0中,每经历一次http通信,都要创建和断开一个tcp链接。在那个时候传输的都是一些容量小的文本,即使是这样那也没有关系。但是随着http的普及,文档中包含了大量的图片等其他资源的情况多了起来。
比如客户端请求一个包含多张图片的html文档的同时,也会请求这些图片等其他的静态资源文件。因此每进行一次http通信都会造成无谓的tcp连接的建立与断开,产生大量通行量的开销。
持久链接的好处在于减少了TCP链接重复的建立和断开带来的额外开销,减少服务器的压力。另外减少开销的那部分时间,使得http请求和响应能够提前结束。web页面的显示速度也提高了。
在http1.1中的所有连接默认都是持久链接。
管线化
早期通常情况下一个http通信周期结束后,才能进行下一次http通行,也就是发送一个请求后需要等待接收响应后才能进行一下次请求。而http的持久链接使得多数请求以管线化方式发送成为可能,这样就能够做到同时并行发送多个请求,而不用一个接一个的等待请求的响应。