HTTP 长连接和短连接的区别
什么是 HTTP 短连接?
HTTP 短连接指的是浏览器和服务器每进行一次 HTTP 操作(如获取一个 HTML 文件、一张图片或一个 CSS 文件),就建立一次 TCP 连接,传输完毕后立即断开连接
工作流程:
- 建立连接:客户端(浏览器)向服务器发起 TCP 连接(三次握手)
- 发送请求:客户端发送 HTTP 请求
- 发送响应:服务器发送 HTTP 响应
- 断开连接:服务器和客户端立即断开 TCP 连接(四次挥手)
- 重复:如果客户端还需要请求其他资源,就必须重复上述所有步骤
特点:
- 优点:实现简单,服务器在请求处理完毕后立即释放资源,适合请求频率较低的场景
- 缺点:
- 性能开销大:每次请求都需要经过 TCP 三次握手和四次挥手,这会增加大量的网络延迟
- 资源消耗高:大量的连接建立和断开操作会消耗服务器和客户端的 CPU 和内存资源