短连接
当我们使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问HTML页面资源的同时,也会请求该HTML页面里包含的其他资源。因此,每次的请求都会造成无谓的TCP连接建立和断开。毫无疑问,这会增加通信量的开销。
有弊有利:短连接对于服务器来说管理较为简单,存在的连接都是有用的连接,不需要额外的控制手段。
长连接
为解决上述TCP连接的问题,HTTP/1.1和一部分的HTTP/1.0想出了持久连接(HTTP Persistent Connections,也称为HTTP keep-alive或HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。
Tips:HTTP1.1默认使用长连接
持久连接的好处在于减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使HTTP请求和响应能够更早地结束,这样Web页面的显示速度也就相应提高了。
有利有弊:如果说有非常多的用户都保持长连接,服务器压力可想而知,当然它采取了一些优化策略如规定时间内如果没有任何请求就断开,限制客户端连接数等等。
受人以渔
- 图解HTTP 第二章 2.7
- 面试中经常问到的 长连接&短连接,你了解的多吗?
- 制图工具:ProcessOn