首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器中的websocket客户端可以发送报头吗?

问浏览器中的websocket客户端可以发送报头吗?
EN

Stack Overflow用户
提问于 2016-10-05 01:36:12
回答 2查看 987关注 0票数 1

关于浏览器发送握手报头的能力是建立websocket连接的一部分,办公室里有一场激烈的辩论。

The websocket spec清楚地表明,头部是可能的。事实上,在我的非浏览器客户端代码中,我确实设置了握手报头,它们是在没有接收并发出的情况下接收的。

悬而未决的争论是:使用javascript插入报头的web浏览器可以成为握手的一部分吗?该规范似乎表明没有什么反对它的地方,但没有人能找到说明如何使用它的客户端文档。

有很多相互矛盾的信息。这显然是可能的,因为我可以用Java毫无问题地做到这一点。但对于Javascript来说,没有人看到它是如何实现的。这是浏览器限制吗?

为了澄清我的问题与其他问题的不同之处:无法做到这一点是默认javascript库的限制吗?是web浏览器还是规范?它看起来只是一个库限制

EN

回答 2

Stack Overflow用户

发布于 2016-10-05 03:28:09

web浏览器中的WebSocket接口恐怕不允许设置自定义头部。尽管如此,浏览器还是会设置cookie。

票数 0
EN

Stack Overflow用户

发布于 2016-10-05 09:53:07

问题是,在浏览器中创建webSocket连接的标准应用程序接口没有提供任何设置自定义头的机制。因此,这是webSocket浏览器应用编程接口的一个限制。

您可以控制发送的URL,包括查询参数和随请求一起发送的cookies,因此您可以使用路径、查询参数或cookies与连接请求一起发送其他信息。

代码语言:javascript
复制
WebSocket WebSocket(
  in DOMString url,
  in optional DOMString protocols
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39858493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档