View on GitHub

Cycle263 Blog

Stay hungry, stay foolish.

websocket

Websocket借用了HTTP的协议来完成一部分握手,是一个持久化的协议,是相对于HTTP这种非持久(长连接,循环连接不算)的协议来说,更像是HTTP协议上的一种补充。Web Socket是一种HTML 5为Web定制的全双工通讯协议,没有“请求 - 响应”的概念,浏览器与服务器完全平等,连接一旦建立就一直开放,双方可随时向对方发送任意数据,没有推拉之分。
WebSocket在2011年被IETF定为标准RFC 6455,并被RFC 7936补充规范,WebSocket API被W3C定为标准。WebSocekt 是 HTML5 规范中的一部分,其借鉴了 socket 的思想,为 client 和 server 之间提供了类似的双向通信机制。同时,WebSocket 又是一种新的应用层协议,包含一套标准的 API;而 socket 并不是一个协议,而是一组接口,其主要方便大家直接使用更底层的协议(比如 TCP 或 UDP)

ws最大的优势:在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息,数据的传输使用帧来传递,并且允许跨域通信。