websocket基础知识及心跳机制

WebSocket是一种持久连接协议,握手过程利用HTTP,具有全双工通信、减少头部开销和更强实时性等优点。它常用于需要实时交互的场景,如聊天应用。文章介绍了WebSocket的基础知识,包括其与轮询、长轮询的区别,以及如何建立连接、使用方法、事件监听。此外,还详细讨论了WebSocket的心跳机制和重连策略,确保连接的稳定性和可靠性。
摘要由CSDN通过智能技术生成

WebSocket

相对于HTTP这种非持久的协议来说,Websocket是一个持久的协议

1. 特点

  1. Websocket的握手部分是和http一样的,或者说借用了HTTP的协议来握手
  2. 在websocket首次连接的报文中加入了两个不同于普通http的首部字段
  3. 全双工通信
  4. 不用每次交换header等信息

请求报文

GET /chat HTTP/1.1
Host: server.example.com
Upgrade: websocket 
Connection: Upgrade
Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13
Origin: http://example.com

upgrade表示升级协议(切换协议),connection连接方式为升级后协议

Sec-WebSocket-Key: 一个Base64 encode的值(由浏览器随机生成)

Sec-WebSocket-Protocol: 由用户自定义,区分同一个URL下面的不同服务

Sec-WebSocket-Version: ws版本(早期ws的实现版本不止一个)

响应报文

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值