了解HTTP请求、HTTP轮询、websocket、SSE通信方式

了解浏览器和服务器通信的方法

http请求

http请求就是客户端向服务器发送请求,服务器响应,完成请求就断开连接。

优点:操作简单,几乎所有浏览器都支持。

缺点:HTTP是无状态的,服务器无法跟踪客户端的状态信息。

http轮询

原理:客户端每隔一段时间向服务器发送http请求,服务器收到请求后向客户端返回最新的数据。分为长轮询和短轮询。

注意这里发送请求就是http请求,包含三次握手建立tcp连接,服务器响应后就四次挥手断开tcp连接。

  • 短轮询原理:客户端每隔一段时间向服务器发送请求,服务器接收到数据之后,检查是否有新数据,如果有新数据返回数据,如果没有新数据就返回空。

  • 优点:客户端可以及时获取数据。

  • 缺点:浪费服务器资源,因为会产生大量的请求和响应。

  • 长轮询原理:客户端向服务器发送请求,服务器收到请求之后,会等待一段时间(直到有数据或者超时),如果有新数据就返回数据,如果没有新数据,超时之后就返回空。客户端接收到响应后再次发送请求。

  • 优点:相比短轮询减少了响应次数,从而减少了服务器资源的浪费。客户端可以实时获取数据

总结http轮询:可以实现实时通信,但是要注意轮询间隔和超时设置。

http轮询使用场景:即时消息推送,即时状态更新。1

websocket

​​​​​​​一篇文章看懂websocket基本用法-优快云博客

websocket是一种协议,在服务器和客户端之间建立实时,双向的连接。通过单个TCP连接建立全双工通信。

原理:客户端发送http请求,请求头中包含升级协议的信息,表示希望变成websocket连接,服务器收到请求后同意升级协议,返回的响应包含websocket连接的相关信息(比如唯一标识SID),之后就可以进行双向数据通信了(使用ws/wss协议,不再是http/https 协议)。

优点:减少服务器负载(不需要每次交互都重新建立连接)。

缺点:兼容性问题(浏览器是否支持),安全性问题(保持连接的过程受到攻击)

websocket使用场景:在线聊天,多人协作应用。

SSE

SSE基于http的单向、持久长连接的通信方式,服务器向客户端推送实时数据,但客户端不可以向服务器发送数据。

优点:如果连接断开SSE会尝试重连。缺点:单向通信,兼容性问题(浏览器是否支持),仅可以传输文本信息。

SSE使用场景:股票价格实时变动,Chatgpt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值