2026-01-15
网络协议
00

相关信息

本章节主要学习长连接、短连接、web_socket的区别

  • 短连接

    • 模式:建立连接 -> 发送数据 -> 关闭连接。
    • 背景:早期的 HTTP/1.0。每请求一个网页上的图片或 CSS,都要经历一次 TCP 三次握手和四次挥手。
    • 缺点:开销极大。频繁地创建和销毁连接非常耗费 CPU 和内存资源。
  • 长连接

    • 模式:建立连接 -> 发送数据 -> 保持连接 -> 发送数据 -> ... -> 关闭连接。
    • 背景:HTTP/1.1 默认开启。在 HTTP Header 中加入 Connection: keep-alive。
    • 特点:
      • 复用:同一个 TCP 连接可以发送多个 HTTP 请求。
      • 半双工:虽然连接没断,但依然是“请求-响应”模式。必须客户端先问,服务端才能答。
      • 阻塞:前面的请求没处理完,后面的请求就得排队(Head-of-line blocking)
  • WebSocket (全双工长连接)

    • 模式:HTTP 握手升级 -> 建立持久 TCP 连接 -> 双向实时传输。
    • 背景:为了解决“服务端主动推送到客户端”的问题(如聊天、实时股票)。
    • 特点:
      • 全双工:客户端和服务器可以同时给对方发消息,不需要等对方回应。
      • 协议升级:它开始时借用 HTTP 的 80/443 端口进行握手,握手成功后就“脱离” HTTP,转为 WebSocket 协议。
      • 轻量:数据头非常小,适合频繁发送短消息。
  • keep-alive 如何设置

本文作者:曹子昂

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!