WebSocket 发起单个请求,服务端不须要等待客服端,客户端在任什么时候候也能发消息到服务端,减小了轮询时候的延迟.经历一次链接后,服务器能给客户端发屡次。下图是轮询与WebSocket的区别。html

基于http的实时消息是至关的复杂,在无状态的请求中维持回话的状态增长了复杂度,跨域也很麻烦,使用ajax处理请求有序请求须要考虑更多。经过ajax进行交流也不简单。每个延伸http功能的目的不是增长他的复杂度。websocket 能够大大简化实时通讯应用中的连接。
Websocket是关于标准
Websocket是一种底层网络协议,可让你在这个基础上创建别的标准协议。好比在WebSocket的客户端的基础上使用XMPP登陆不一样的聊天服务器,由于全部的XMPP服务理解相同的标准协议。WebSocket是web应用的一种创新。
为了与其余平台竞争,WebSocket是H5应用提供的一部分先进功能。每一个操做系统都须要网络功能,可以让应用使用Sockets与别的主机进行通讯,是每一个大平台的核心功能。在不少方面,让Web应用表现的像操做系统平台是html5的趋势。像socket这样底层的网络协议APIs不会符合原始的安全模型,也不会有web api那样的设计风格。WebSocket给H5应用提供TCP的方式不会消弱网络安全且有现代的Api。
WebSocket是Html5平台的一个重要组件也是开发者强有力的工具。简单的说,你须要WebSocket建立世界级的web应用。它弥补了http不适合实时通讯的重大缺陷。异步、双向通讯模式,经过传输层协议使WebSocket具备广泛灵活性。想象一下你能用WebSocket建立正真实实时应用的全部方式。好比聊天、协做文档编辑、大规模多人在线游戏(MMO),股票交易应用等等。
WebSocket是一个协议,但也有一个WebSocket API,这让你的应用去控制WebSocket的协议去响应被服务端触发的事件。API是W3C开发,协议是IETE制定。现代浏览器支持WebSocket API,这包括使用全双工和双向连接的方法和特性。让你执行像打开关闭连接、发送接收消息、监听服务端事件等必要操做。
第二章会给出这些Api的更多细节和使用实例。
WebSocket协议可以让客户端和远程服务端经过web创建全双工通讯。支持传输二进制字符串和文本字符串,协议包含打开握手以后的基本消息框架。
第三章会描述更多协议的细节,向你展现如何建立本身的WebSocket服务器。
大量的可选的WebSocket服务器、开发者社区以及无数正在使用WebSocket的应用体现了WebSocket的火热,已有大量已经实现的WebSocket服务器,例如Apache mod_pywebsocket, Jetty, Socket.IO 和 Kaazing’s WebSocket Gateway. 这本书的灵感来自于分享咱们多年在Kaazing项目中处理WebSocket及相关技术的知识和经验。Kaazing被做为企业级WebSocket网关服务器和它的客户端库已经超过5年。
社区:
《The Definitive Guide to HTML5 WebSocket》 翻译。html5
转:http://www.cnblogs.com/stoneniqiu/p/5357444.htmlweb