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

来源:互联网 发布:直销软件结算系统公司 编辑:程序博客网 时间:2024/06/08 11:30

超文本传输协议(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独立的数据帧。

另外附两篇讲解得非常详细的文章。
http://mp.weixin.qq.com/s?__biz=MjM5OTA1MDUyMA==&mid=2655437269&idx=2&sn=d117ec6551c7a407ee9a49af0e88d801&chksm=bd730da28a0484b443145049112a237fac3908cc5dc4723a7a0197c1c1e1ff771c8714eb7ce6&scene=4#wechat_redirect

http://mp.weixin.qq.com/s?__biz=MjM5OTA1MDUyMA==&mid=2655437317&idx=3&sn=c3aace00b57897d7a11e7abb3e87b2ec&chksm=bd730e728a0487649da2afb12a76a6844bc9a7f088fc70c80625dc837e2e01c01c70f49bc6ad&scene=0#wechat_redirect

1 0
原创粉丝点击