测试之路--随手记:WebSocket
2023-02-18 16:23:13 时间
哈喽大家好,我是小歪~今天在工作中遇到一种协议---WebSocket,之前没怎么接触过,请教了开发大佬,下班回来在网上也查了查相关概念。就准备做个记录。
01 WebSocket协议概念
WebSocket是一种协议。与http类似。都是基于tcp的一种可靠性协议。与http不同的是,http是一种无状态协议。而WebSocket则是一种长链接协议,可以长时间与服务器保持一个连接状态,使客户端与服务端保持持续的数据交流。
如下是网上大佬解释,直接不厚道的粘贴
- 什么是websocket
- WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的;Websocket是一个持久化的协议
- websocket的原理
- websocket约定了一个通信的规范,通过一个握手的机制,客户端和服务器之间能建立一个类似tcp的连接,从而方便它们之间的通信在websocket出现之前,web交互一般是基于http协议的短连接或者长连接websocket是一种全新的协议,不属于http无状态协议,协议名为"ws"
- websocket与http的关系
- 相同点:
- 都是基于tcp的,都是可靠性传输协议
- 都是应用层协议
- 不同点:
- WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息
- HTTP是单向的
- WebSocket是需要浏览器和服务器握手进行建立连接的而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接
- 联系:
- WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的
- 总结(总体过程):
- 首先,客户端发起http请求,经过3次握手后,建立起TCP连接;http请求里存放WebSocket支持的版本号等信息,如:Upgrade、Connection、WebSocket-Version等;
- 然后,服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据;
- 最后,客户端收到连接成功的消息后,开始借助于TCP传输信道进行全双工通信。
CSDN链接:https://blog.csdn.net/qq_54773998/article/details/123863493
02 应用场景、总结
请教了开发大佬。就目前很多项目。这种方式比较少见了。常见于消息通信项目,直播间推流项目等,主要还是用于实时通信相关的项目居多。
websocket是一种可以有服务器发起反向发起请求的一种协议,主要数据有更新,就可以推送给客户端使用。与http相比较。http就像是单信道,类似对讲机;websocket就如同是语音电话,双方同时在线,数据交流更直接,更快捷。
相关文章
- 抓 https 加密数据,偷偷摸摸爽得很!
- 小游戏赛道迎来新一轮增长机会,技术升级实现多平台布局
- Photoshop 2021正式版更新,附全系列下载
- Ps | Adobe Photoshop 2023 for Win 24.1 中文激活版下载及安装教程
- 简单易用的监控告警系统 | HertzBeat 在 Rainbond 上的使用分享
- 原来Docker容器中设置时区这么简单
- 小游戏进入增长快车道,行业变现模式分析
- (一)汇编语言——基础知识
- ghost系统后只有C盘了别的盘的文件怎样恢复
- (二)汇编语言——寄存器
- (三)汇编语言——DOSBox
- 分布式是大数据处理的万能药?
- SAP ABAP 报表屏幕输入字段如何实现联动效果试读版
- 如何给 SAP ABAP ALV 报表的修改功能添加自定义校验逻辑试读版
- 参加 Spartacus 开源项目开发时需要注意的一些编程规范
- Salesforce LWC学习(四十) datatable的dynamic action的小坑浅谈
- 内科大软件工程导论复习内容笔记
- Prometheus及Grafana监控服务的安装使用
- SpringBoot:模块探究之spring-boot-cli
- java中的lambda表达式(从小白也能看懂做起)