【发布时间】:2015-05-11 23:29:39
【问题描述】:
IIUC,当我创建一个 WebSocket 时,一个 HTTP 请求被发送到指定的 URL,其中包含一个升级请求。是通常与此升级请求一起传递身份验证信息,还是应该单独执行?
var websocket = new WebSocket("ws://domain:port/foo"); // Can I include authentication headers with the initial upgrade HTTP request?
【问题讨论】:
-
没有认证...
-
@dandavis 请你澄清一下。当然,身份验证标头可以与升级请求一起发送——它是一个 HTTP 请求。
-
我的意思是显示... http url 是http url。也就是说,套接字包通常有责任捕获传入的连接,因此集成选项可能会受到套接字主机的限制,但不受 http 限制。您可以在最后重定向到套接字提供的 http url 来做一些花哨的事情。
-
我明白了,所以 WebSocket API 没有提供直接的方法来配置随连接请求发送的 HTTP 标头?
-
您需要深入了解您正在使用的任何服务器端 websockets 工具的文档,但不要抱太大希望。也就是说,让客户端通过套接字本身发送令牌非常容易,并且在发送之前不给他们任何数据,如果他们花费很长时间或做出错误的猜测,则丢弃它们。
标签: javascript http websocket