webSockets 简介
什么是 websocket
webSockets 是一种先进的技术;它可以在用户的浏览器和服务器之间打开交互式通信会话;使用此 API,您可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应
websocket 是一种网络通信协议,是HTML5开始提供的一种在单个TCP连接上进行全双工通信的协议,这个对比着HTTP协议来说,HTTP协议是一种无状态的、无连接的、单向的应用层协议,通信请求只能由客户端发起,服务端对请求做出应答处理;HTTP协议无法实现服务器主动向客户端发起消息, websocket 连接允许客户端和服务器之间进行全双工通信, 以便任一方都可以通过建立的连接将数据推送到另一端;websocket只需要建立一次连接,就可以一直保持连接状态
webSockets 特点
全双工:通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合例如指A→B的同时B→A,是瞬时同步的二进制帧:采用了二进制帧结构,语法、语义与HTTP完全不兼容,相比http/2, WebSocket更侧重于"实时通信",而HTTP/2更侧重于提高传输效率,所以两者的顿结构也有很大的区别;不像HTTP/2 那样定义流,也就不存在多路复用、优先级等特性;自身就是全双工,也不需要服务器推送协议名:引入ws和wss分别代表明文和密文的websocket协议,且默认端口使用80或443,几乎与http一致
ws://www.chrono. com
ws://www.chrono. com:8080/srv
wss://www.chrono. com:445/im?user_id=xxx
握手:websocket也要有一个握手过程,然后才能正式收发数据客户端发送数据格式如下
GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-websocket-Key: dGh1IHNhbxBsZSBub25jzQ==
Origin: http://example.com
Sec-webSocket-Protocol: chat, superchat
Sec-websocket-Version: 13
服务端返回的数据格式
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
sec-websocket-Accept: s3pPLMBi

最低0.47元/天 解锁文章
747

被折叠的 条评论
为什么被折叠?



