http\https下websocket的ws\wss链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http\https下websocket的ws\wss链接相关的知识,希望对你有一定的参考价值。

参考技术A websocket在http下使用的是new WebSocket(' ws://xxx' )方式连接,在域名改为https后,websocket出现错误。
按照websocket连接标准来对应:

也就是在https下应该使用wss协议做安全链接,且wss下不支持ip地址的写法,写成域名形式。
实际上浏览器并没有严格的限制http下一定使用ws,而不能使用wss,经过测试http协议下同样可以使用wss协议链接。
在https下能打开ws连接么? 答案是不能, 因为浏览器不允许
1.Firefox环境下https不能使用ws连接
2.chrome内核版本号低于50的浏览器是不允许https下使用ws链接
3.Firefox环境下https下使用wss链接需要安装证书
实际上主要是问题出在Firefox以及低版本的Chrome内核浏览器上,于是在http与https两种协议都支持的情况下可以做兼容处理,即在http协议下使用ws,在https协议下使用wss。
最好下面这样使用可解决兼容问题。

参考链接: https://blog.csdn.net/Garrettzxd/article/details/81674251

以上是关于http\https下websocket的ws\wss链接的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合Websocket实现即时聊天功能

websockets 不适用于 https.createServer

Atmosphere - Nginx 作为 https->http 转发器 - websocket 不工作

java http可以websocket不行

WebSocket 不适用于 https 请求,并且它与使用 PHP 棘轮库的 http 一起正常工作

Http,Https,socket,websocket,TCP,UDP