Websocket 客户端 API 中的 HTTP 标头
WebSocket API 提供了一种向客户端添加自定义 HTTP 标头的简单方法。但是,值得注意的是,只能指定某些标头。
自定义限制
与信念相反,JavaScript WebSockets API 不允许您指定任意 HTTP 标头。只能设置路径和协议字段。路径在 WebSocket 构造函数的第一个参数中指定,而协议标头在其可选的第二个参数中指定。
指定协议标头
var ws = new WebSocket("ws://example.com/path", "protocol");
上面的代码生成以下标头:
Sec-WebSocket-Protocol: protocol
您还可以指定多个协议:
var ws = new WebSocket("ws://example.com/path", ["protocol1", "protocol2"]);
产生以下标头:
Sec-WebSocket-Protocol: protocol1, protocol2
身份验证/授权
通过 WebSocket 进行身份验证的常见方法是使用票务系统。服务器生成一个票证,客户端将其包含在 URL、协议字段或连接后的第一条消息中。然后,服务器验证票证并相应地继续或拒绝连接。
基本身份验证(已弃用)
基本身份验证之前已被接受,但已被弃用,并且不适用现代浏览器不再支持。
其他注释
值得一提的是,授权标头可以根据 WebSocket URI 中的用户名和密码生成(尽管此方法也已弃用)。
了解有关 WebSocket 安全性的更多信息,参考这篇文章:https://devcenter.heroku.com/articles/websocket-security
以上是如何使用 JavaScript 将自定义 HTTP 标头添加到我的 WebSocket 客户端?的详细内容。更多信息请关注PHP中文网其他相关文章!