http - WebSocket 连接:它可以遵循以前的 HTTP/1.1 请求/响应吗?
问题描述
是否可以使用一个或多个常规 HTTP 请求/响应已使用的 TCP(或 TCP+TLS)连接来启动 WebSocket 连接,或者客户端是否必须为每个 WebSocket 连接启动一个新的 TCP 连接?
[在扩展 HTTP 客户端以支持建立 WebSockets 连接的上下文中询问。客户端维护一个keep-alive连接池,并且想知道在建立WebSocket连接时是否可以使用池中的TCP连接。]
解决方案
来自https://www.rfc-editor.org/rfc/rfc6455#section-4.1
一旦建立了与服务器的连接(包括通过代理或通过 TLS 加密隧道的连接),客户端必须向服务器发送打开握手。
该语言向我表明,在打开连接和发送 WebSocket 开放握手之间不应该有任何 [例如 HTTP 请求/响应] 不符合规范。
所以不,来自先前 HTTP 请求/响应的连接不能用于 WebSockets。
推荐阅读
- java - Java将带有文件和结构的子目录移动到父目录
- jquery - 将元素悬停在其他元素上
- ajax - KeyCloak 在 HTTP OPTIONS 请求上返回 HTTP 204
- office-ui-fabric - 为什么复选框文本不使用主题字体大小?
- python - python中的回调字典
- excel - 如何使用 CMD 打开(导入).CSV 到 Excel
- android - FirebaseAuth.getInstance() 在全新安装时返回用户而不是 null
- python - 列表列表的组合 - Elementwise
- python - 如果 Python 中的条件并创建列表
- lets-encrypt - Rancher Traefik 和 Lets Encrypt 使用两个域