当前位置:   article > 正文

建立浏览器与服务器通信渠道的两种方法Server-Sent Events(SSE)和WebSocket_server-sent events 与websocket

server-sent events 与websocket

WebSocket协议

定义:WebSocket是一种在单个TCP连接上进行全双工通信的协议。

作用:WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

特点:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息

websocket协议简介

Server-Sent Events(SSE)

定义:一个网页获取新的数据通常需要发送一个请求到服务器,也就是向服务器请求的页面。使用 server-sent 事件,服务器可以在任何时刻向我们的 Web 页面推送数据和信息。这些被推送进来的信息可以在这个页面上作为 Events + data 的形式来处理。

作用:建立浏览器与服务器之间的通信渠道,然后服务器向浏览器推送信息。

特点:SSE基于HTTP协议,但HTTP协议无法做到服务器主动推送信息;
但有一种变通方法:服务器向客户端声明,接下来要发送的是流信息(streaming)。
流信息:不是一次性的数据包,而是一个数据流,会连续不断地发送过来。
这时,客户端不会关闭连接,会一直等着服务器发过来的新的数据流,例如视频播放。
这种通信就是以流信息的方式,完成一次用时很长的下载。
SSE 就是利用这种机制,使用流信息向浏览器推送信息。它基于 HTTP 协议,目前除了 IE/Edge,其他浏览器都支持

Server-Sent Events 教程

WebSocket与Server-Sent Events(SSE)区别

  • SSE是单向通道,只能服务器向浏览器发送;WebSocket是全双工通道,可以双向通信。
  • SSE使用HTTP协议,现有的服务器软件都支持。WebSocket是一个独立协议。
  • SSE属于轻量级,使用简单;WebSocket协议相对复杂。
  • SSE默认支持断线重连,WebSocket需要自己实现。
  • SSE一般只用来传送文本,二进制数据需要编码后传送,WebSocket默认支持传送二进制数据。
  • SSE 支持自定义发送的消息类型

关于使用SSH后API请求缓慢问题

场景:前端调用接口请求数据非常缓慢,但是后端人员测试api请求响应很迅速时
问题定位:检查api调用时长分配

问题详情,请看此链接文章

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/335453
推荐阅读
相关标签
  

闽ICP备14008679号