Skip to content

HTTP的长连接和短连接分别是什么?keep-alive是干什么的

Posted on:2024年7月19日 at 18:16

HTTP的长连接和短连接实际上是TCP的长连接和短连接,HTTP属于应用层协议。
短连接:浏览器和服务器每进行一次HTPP操作,就建立一个连接,但任务结束就会中断这个连接
长连接:HTTP1.1规定了默认保持长连接,也称为持久连接。
意思就是,数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据。
长连接好处:

  1. 同一个客户端可以使用这个长连接处理其他请求,避免HTTP重新连接和断开所消耗的时间;
  2. 服务器可以利用这个连接 主动推送 消息到客户端(重要的)。

HTTP头部有了Connection: Keep-Alive这个值,代表客户端期望这次请求是长连接的。但是并不代表一定会使用长连接,服务器端都可以无视这个值,也就是不按标准来。实现长连接要客户端和服务端都支持长连接。
keep-alive的优点:

原文转自:https://fe.ecool.fun/topic/d4f2b4e6-6d91-4aed-b4de-c2166e44bc3d