WebSock--全双工通信

介绍:

WebSocketHTML5开始提供的一种浏览器与服务器之间进行全双工通信的网路技术。在WebSocket中,浏览器只需要完成一次握手就可以形成一条通道,允许Client和Server进行数据的互传。

HTTP瓶颈
很多网站为了做到即时通讯,所用的技术都是轮询,轮询就是客户端在一定的时间向服务器发送request,等待服务器的响应。由于每次轮询客户端都会发送请求,请求报文的首部会被反复发送,这样就会占用资源。
AJAX使用
它是通过Javascript脚本语言的调用就能和服务器进行HTTP通信,通过这种手段就可以再已经加载完毕的页面上发起请求,只是更新局部页面。
Comet使用
一旦服务器有更新,Comet不会让请求等待,而是直接给客户端返回响应,这种是通过延迟应答模拟实现付武器向客户端推送的功能。服务器收到请求,在处理完后就立即返回响应,但是为了实现推送功能,Conet会把响应置于挂起状态,当服务器中内容有更新时,再返回响应。但是这样做会维持连接消耗更多的资源,所以仍没有解决HTTP协议本身的问题。

WebSocket

而WebSocket的出现,让问题有了好转,客户端仍然是采用HTTP协议与服务器进行通信,但是当三次握手后,客户端请求升级为WebSocket协议,如果服务器能支持就会升级协议为WebSocket,这样就建立了一个全双工的通信。注意,还是需要客户端来主动连接服务器才能进行后面的事。
WebSocket由于是HEML5出现的,并不是对所有的浏览器都兼容,所以有了下面的话。

That's why a new project [was born]: [SockJS]- yet another WebSocket emulation library, but this time done right.

SockJs 待续。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,797评论 19 139
  • 1. 网络基础TCP/IP HTTP基于TCP/IP协议族,HTTP属于它内部的一个子集。 把互联网相关联的协议集...
    yozosann阅读 8,766评论 0 20
  • UIViewController一般有点击UINavigationController左上角返回按钮关闭和向右滑动...
    jack1024阅读 4,326评论 0 0
  • 猎人手记 每次外出打猎忙 总是让人扫兴归 眼见野外凄凉景 草木尽都添了黄 野鸡头上满是霜 猎狗背上褪了毛 只盼来日...
    欧阳小川阅读 4,479评论 23 27
  • 向大家推荐2个小龙虾的好地方和一个吃烧烤的位置,下面听我慢慢来讲 湖北九头鸟掌厨,味道在郑州可以派进前三甲,一份蒜...
    兵头1590阅读 3,392评论 0 0