01
websocket协议
1、介绍
WebSocket是一种在单个TCP通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输
2、原理
3、与http协议的比较
相同之处:
都是基于TCP的应用层协议;
都使用Request/Response模型进行连接的建立;
在连接的建立过程中对错误的处理方式相同,在这个阶段WS可能返回和HTTP相同的返回码;
都可以在网络中传输数据。
不同之处:
WS使用HTTP来建立连接,但是定义了一系列新的header域,这些域在HTTP中并不会使用;
WS的连接不能通过中间人来转发,它必须是一个直接连接;
WS连接建立之后,通信双方都可以在任何时刻向另一方发送数据;
WS连接建立之后,数据的传输使用帧来传递,不再需要Request消息;
WS的数据帧有序。
4、websocket应用场景
websocket的使用场景:
社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、基于位置的应用、在线教育、智能家居等 需要高实时的场景
02
websocket接口测试实战
以码同学全栈接口项目中的websocket接口为例,项目地址 http://...*😗***/pinter/
接口名称 接口类型 URL 参数
匹配接口
websocket
/pinter/imserver/用户id
{“type”:“match”,“from”:“发送者”,“to”:“system”}
发送聊天消息接口
websocket
/pinter/imserver/用户id
{“msgId”:“消息id”,“type”:“normal”,“from”:“发送者”,“to”:“老师id”,“msg”:“消息内容”}
01
抓包查看,熟悉接口业务
1、访问项目首页,打开浏览器的开发者工具,选择Network–>WS