码迷,mamicode.com
首页 > Web开发 > 详细

WebSocket简介

时间:2016-06-14 11:55:16      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

背景

  传统的网络很大程度上是基于http的请求/响应模式而构建的。客户端加载一个页面后,需要用户做交互操作,发送请求给服务器,服务器才会做出反应,这样服务器有更新信息时就无法主动的将数据发送给客户端。因此需要用户互动或定期轮询,以便服务器将数据更新给客户端。

已有解决办法-轮询

  1.在特定的时间间隔由浏览器发出HTTP request, 使服务器端将最新的数据返回给浏览器。它的缺点是浏览器需要不停地给服务器发出请求,但是HTTP request的header非常长,里面包含的有效数据却很有可能非常短,造成了带宽和服务器资源的浪费。

  2.较新的轮训Comet中,普遍使用了持久连接,这也会大量消耗服务器带宽和资源。

  HTTP 持久连接(HTTP persistent connection, HTTP keep-alive, HTTP connection reuse)是使用同一个tcp连接来发送和接收多个HTTP请求/响应,而不是为每一个新的请求/响应打开新的连接的方法。但是依然需要HTTP的开销,者同样会大量消耗服务器带宽和资源。

WebSocket

  HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。

  "握手协议":在实现websocket的连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程称为"握手"。之后,客户端和服务器之间存在持久地连接,而且双方可以随时开始发送数据。

  优点:header小,服务器与客户端之间交换的数据包档头很小,不占用带宽。

         服务器推送,服务器可以主动推送数据给客户端,达到实时更新的目的。

 

WebSocket简介

标签:

原文地址:http://www.cnblogs.com/dongxucode/p/5583247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!