WebSocket, Http 2的协议升级过程,都需要Connection,Upgrade两个字端来联合完成。
比如初始化WebSocket请求:Host: echo.websocket.orgConnection: UpgradeUpgrade: websocket在设计协议的时...
WebSocket, Http 2的协议升级过程,都需要Connection,Upgrade两个字端来联合完成。
比如初始化WebSocket请求:
Host: echo.websocket.org
Connection: Upgrade
Upgrade: websocket
在设计协议的时候,为什么不仅仅通过Upgrade Header来完成呢?
Connection和Upgrade头部有不同的起源和语义:
- Connection: Upgrade 表示Upgrade是一个hop-by-hop的字段,这个字段是给proxy看的
- Upgrade: websocket 表示浏览器想要升级到WebSocket协议,这个字段是给最终处理请求的程序看的。
- 如果只有Upgrade: websocket,说明proxy不支持websocket升级,按照标准应该视为普通HTTP请求。
-
发表于 2024-03-03 14:22
- 阅读 ( 451 )