选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

将 WebSocket 与 CloudFront 分配结合使用

聚焦模式
将 WebSocket 与 CloudFront 分配结合使用 - Amazon CloudFront

Amazon CloudFront 支持使用 WebSocket,后者是一种基于 TCP 的协议,它在客户端和服务器之间需要长期双向连接时很有用。对于实时应用程序,持久连接通常是必需的。可使用 Websocket 的场景包括社交聊天平台、在线协作工作区、多玩家游戏和提供实时数据馈送(如金融贸易平台)的服务。对于全双工通信,通过 WebSocket 连接的数据可双向流动。

WebSocket 功能会自动启用,以便与任何分配结合使用。要使用 WebSocket,请在附加到您的分配的缓存行为中配置以下内容之一:

  • 将所有查看器请求标头转发到源。您可以使用 AllViewer 托管源请求策略

  • 具体而言,就是在您的源请求策略中转发 Sec-WebSocket-KeySec-WebSocket-Version 请求标头。

WebSocket 协议的工作原理

WebSocket 协议是一种独立的、基于 TCP 的协议,可让您避免 HTTP 的一些开销和潜在的延迟增加。

为了建立 WebSocket 连接,客户端将发送使用 HTTP 升级语义更改协议的常规 HTTP 请求。随后,服务器可以完成握手。WebSocket 连接将保持打开状态,并且客户端或服务器可以相互发送数据帧,而无需每次都建立新连接。

默认情况下,WebSocket 协议使用端口 80(对于常规 WebSocket 连接)和端口 443(对于通过 TLS/SSL 的 WebSocket 连接)。您为 CloudFront 查看器协议策略协议(仅自定义源) 选择的选项适用于 WebSocket 连接以及 HTTP 流量。

WebSocket 要求

WebSocket 请求必须遵守 RFC 6455(采用以下标准格式)。

例 示例客户端请求
GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ== Origin: https://example.com Sec-WebSocket-Protocol: chat, superchat Sec-WebSocket-Version: 13
例 示例服务器响应
HTTP/1.1 101 Switching Protocols Upgrade: websocket Connection: Upgrade Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo= Sec-WebSocket-Protocol: chat

如果客户端或服务器或网络中断已断开 WebSocket 连接,则客户端应用程序应重新发起与服务器的连接。

推荐的 WebSocket 标头

为了避免在使用 WebSocket 时出现与压缩相关的意外问题,建议您在源请求策略中包含以下标头:

  • Sec-WebSocket-Key

  • Sec-WebSocket-Version

  • Sec-WebSocket-Protocol

  • Sec-WebSocket-Accept

  • Sec-WebSocket-Extensions

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。