首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ws和wss的区别?

ws和wss的区别?
EN

Stack Overflow用户
提问于 2017-10-04 05:17:32
回答 1查看 70K关注 0票数 77

将ws转换为wss的步骤是什么?

wss是通过普通HTTP进行升级,还是wss只运行HTTPS?

代码语言:javascript
复制
webSocket = new WebSocket("ws://localhost:port/Esv/ocp");

很好,当我把ws改为wss的时候

代码语言:javascript
复制
webSocket = new WebSocket("wss://localhost:port/Esv/ocp");

它显示了这个错误:

连接建立中的错误: net::ERR_SSL_PROTOCOL_ERROR

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-04 07:32:33

短版

到SSL是否SSL

你可能有一个SSL证书颁发。连接点规则可以是概括为

  • wsshttps only上连接
  • wshttp上连接

反之亦然:

  • https接受wss only
  • http接受ws only

误差

以下情况将导致错误(在Firefox下进行的测试):

  • 如果要将wss连接连接到http端点,请执行以下操作。在我的测试中,我使用了一个InvalidStateError:尝试使用一个不能或不再可用的对象。
  • 如果要将ws连接连接到https端点,则会出现错误SecurityError:操作不安全。

正式答案

websocket的圣经是RFC 6455。在4.1.5部分

如果/secure/为true,则客户端必须在打开连接后和发送握手数据RFC2818之前对连接执行TLS握手。如果失败(例如,无法验证服务器的证书),则客户端必须失败WebSocket连接并中止连接。否则,该通道上的所有进一步通信都必须通过加密的隧道RFC5246运行。

安全标志由URI定义。第3节定义了什么是安全的。

如果方案组件与"wss“大小写不敏感地匹配,则URI被称为”安全“(据说是”设置了安全标志“)。

TL;DR

如果您想使用wss

  • 您必须激活SSL。
  • 必须保护端点(https://...):“安全降级”是不允许的

如果您想使用ws

  • 确保您的端点没有启用SSL (http://...)
票数 112
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46557485

复制
相关文章

相似问题

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