让C/S进行全双工通信的WebSocket协议

超文本传输协议(HTTP)作为一种简单的协议,在面对功能日益丰富的 Web应用时,遇到了如下瓶颈:

1、在客户端请求时,会建立一个TCP连接,然后发送请求,服务端给出响应,然后连接就关闭了。(现在的HTTP1.1支持消除了这个瓶颈)
2、客户端和服务器之间的交互是采用请求/响应模式,缺乏服务器通知客户端的机制,在需要通知的场景,如聊天室,游戏,客户端应用需要不断地轮询服务器。
3、请求/响应首部不经过压缩就发送,带来了延迟。

WebSocket协议 就是为了解决第二个瓶颈。

WebSocket协议 使用一个TCP连接进行双向通讯的机制,包括网络协议和API,以取代 HTTP协议中以轮询进行双向通讯的机制。

本质上来说,WebSocket协议是不限于 HTTP协议的,但是由于现存大量的HTTP基础设施,代理,过滤,身份认证等等,WebSocket协议 借用 HTTP 和 HTTPS 的端口。

为了实现 WebSocket通信,需要使用到 HTTP协议来完成,并且使用 HTTP请求报文中的 Upgrade首部字段,告知服务器通信协议发送变化。

通过 HTTP的一次请求/响应后,客户端和服务器之间接下来的通信将使用 WebSocket独立的数据帧。

另外附两篇讲解得非常详细的文章。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值