WebSocket 客户端 API 中的 HTTP 标头
众所周知,可以使用支持此功能的 HTTP 标头客户端来实现自定义 HTTP 标头。但是如何在 Web 平台中使用 WebSocket API 来实现这一点呢?
可能吗?
简而言之,答案是不。只能指定路径和协议字段。
更长的说明
JavaScript WebSocket API 中没有用于设置附加标头的内置方法。但是,您可以在 WebSocket 构造函数初始化期间指定 HTTP 路径(“GET /xyz”)和协议标头(“Sec-WebSocket-Protocol”)。
Sec-WebSocket-Protocol 标头,可以是用于特定于 websocket 的身份验证,源自构造函数的可选第二个参数:
var ws = new WebSocket("ws://example.com/path", "protocol"); var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
可能解决方案
处理 WebSocket 身份验证/授权的常见方法是通过票证系统。此处,托管 WebSocket 客户端的页面向服务器请求票证,并将其包含在连接设置中(例如,在 URL/查询字符串、协议字段中,或作为建立连接后的第一条消息)。然后,服务器验证票证的有效性,如果通过则授权连接。
以上是我可以在 WebSocket API 中自定义 HTTP 标头吗?的详细内容。更多信息请关注PHP中文网其他相关文章!