ws和wss的区别

ws和wss的区别,第1张

WS协议和WSS协议两个均是WebSocket协议的SCHEM

WebSocket 协议是 html5的 一种通信协议,可以使客户端和服务端双向数据传输更加简单快捷,并且在 TCP连接 进行一次握手后,就可以 持久性 连接,同时允许服务端对客户端 推送 数据。

类似于HTTP协议和HTTPS协议的差别

SSL(Secure Socket Layer,安全套接层) 用来保障网络中数据传输的安全性,主要是运用数据加密技术避免数据在传输过程被不被窃取或者监听,旨在确保 Internet 通信中的隐私、身份验证和数据完整性

在高防防护过程中,80和433端口的网站是需要备案才可以接入国内的

http协议下使用ws,在https协议下使用wss

WebSocket协议的特点:

1. 建立在 TCP 协议之上,服务端实现容易;

2. 与 HTTP 协议有良好的兼容性,握手时不容易被屏蔽,可以通过各种 HTTP 代理服务器

3. 数据轻量,实时通讯;

4. 可以发送文本和二进制数据。

5. 不限制同源,客户端可以与任意服务器端进行通讯。

在服务器的选择上很广,基本上,主流语言都有WebSocket的服务器端实现,而我们作为前端开发工程师,当然要选择现在比较火热的NodeJS作为我们的服务器端环境了。

NodeJS本身并没有原生的WebSocket支持,但是有第三方的实现(大家要是有兴趣的话,完全可以参考WebSocket协议来做自己的实现),我们选择了“ws”作为我们的服务器端实现。

由于本文的重点是讲解WebSocket,所以,对于NodeJS不做过多的介绍,不太熟悉的朋友可以去参考NodeJS入门指南(http://www.nodebeginner.org/index-zh-cn.html)。

安装好NodeJS之后,我们需要安装“ws”,也就是我们的WebSocket实现,安装方法很简单,在终端或者命令行中输入:

npm install ws

,等待安装完成就可以了。

接下来,我们需要启动我们的WebSocket服务。首先,我们需要构建自己的HTTP服务器,在NodeJS中构建一个简单的HTTP服务器很简单,so easy。代码如下:

var app = http.createServer(onRequest ).listen( 8888 )

onRequest()作为回调函数,它的作用是处理请求,然后做出响应,实际上就是根据接收的URL,在服务器上查找相应的资源,最终返回给浏览器。

在构建了HTTP服务器后,我们需要启动WebSocket服务,代码如下:

var WebSocketServer = require('ws').Server

var wss = new WebSocketServer( { server : app } )

从代码中可以看出,在初始化WebSocket服务时,把我们刚才构建好的HTTP实例传递进去就好。到这里,我们的服务端代码差不多也就编写完成了。

WebSocket (WS)是HTML5一种新的协议。它实现了浏览器与服务器全双工通信,能更好地节省服务器资源和带宽并达到实时通讯。WebSocket建立在TCP之上,同HTTP一样通过TCP来传输数据,但是它和HTTP最大不同是:

WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/Client Agent都能主动的向对方发送或接收数据,就像Socket一样;WebSocket需要类似TCP的客户端和服务器端通过握手连接,连接成功后才能相互通信。

WSS(Web Socket Secure)是WebSocket的加密版本。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/96522.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-08
下一篇2023-03-08

发表评论

登录后才能评论

评论列表(0条)

    保存