欢迎光临
我们一直在努力

WebSocket协议 通俗解析

先一句话说清楚:WebSocket 是什么?

WebSocket 是一种让浏览器服务器之间建立“持久连接”的协议,双方都可以随时主动发消息,不再是像http协议那样客户端主动发请求,服务器被动回应 的形式。

下面说一下webSocket和http协议的连接方式:

HTTP的连接方式:是 短连接,也就是说我们每次发出的请求都是一个新的请求 它是无状态的 这个无状态也是http协议的核心特点之一

WebSocket它的连接是:它是先通过HTTP协议建立连接,然后将连接“升级”为一个持久连接。

我们用一个去银行办业务的例子对比一下,会更清楚:

普通HTTP类似于 我们每次办业务的时候,都要去普通窗口排队、填表、验证身份,然后工作人员给我们办完业务,我们离开以后,等以后每次来都是需要重复这些步骤才行

WebSocket:第一次排队填表进行验证后,银行就给了我们一个专用通道,之后我们可以随时走这个通道进行办理业务,银行也可以随时主动通知我们。

这里我们可以看出WebSocket:它是先通过HTTP协议建立连接,而不是直接去连接服务器,这是因为WebSocket自己是一个“新协议”,如果它直接用自己的规则、使用一个新端口去连接服务器,大概率会被拦截,这是因为防火墙只认HTTP的80端口和HTTPS的443端口,其他端口默认不让过。

所以WebSocket它先使用HTTP协议,通过80或443端口假装成一个普通HTTP请求混进去。等连接建立之后,它会再把协议“升级”成WebSocket,从此开始持久化的双向通信。

在我们的实际项目中用到 WebSocket,是因为我们希望商家端能够实时收到提醒,比如用户的“来单提醒”或“催单提醒”。

如果用传统的 HTTP 方式,就需要商家端不断主动去询问服务器“有没有新订单/有没有用户催单”,这样效率很低,还会给服务器造成很大的压力。

而 使用WebSocket就可以建立一条持久连接,当服务器在接收到有新订单或催单时,能够主动推送给商家端。

赞(0)
未经允许不得转载:171主机测评 » WebSocket协议 通俗解析
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址