知识卡片
WebSocket与HTTP的协议关系
内容
WebSocket和HTTP同属应用层、都基于TCP传输,但通信模式完全不同:HTTP是单向的请求-响应模型,每次交互都要客户端主动发起;WebSocket建立后是双向、持续保持连接的通道,任意一端都能随时主动推送数据,直到某一方显式关闭。两者并非互不相干——WebSocket连接的建立依赖于一次HTTP握手请求”升级”而来:客户端发送带有Connection:Upgrade、Upgrade:websocket等标头的HTTP请求,服务端返回101状态码确认升级,此后这条连接才切换成WebSocket的双向通信模式。发散:这种”先用HTTP握手,再切换协议”的设计让WebSocket得以复用现有的HTTP基础设施(如80/443端口、代理、防火墙规则),不需要为一种新协议重新铺设整套网络基础设施。
参考来源
《Spring Boot应用开发实战》第8章《实战1:基于STOMP协议的聊天服务》