websocket介绍:
websocket是html5开始提供的一种在单个TCP连接上进行全双工通讯的协议,它使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向传输。
在WebSocket API中,浏览器和服务器只需要做一个握手动作,然后浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。
Ajax轮询:
轮询是在特定的时间间隔,由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来明显的缺点,即浏览器需要不断的向服务器发出请求,然而,HTTP请求可能包含较长的头部,其中真正有效的数据可能只是一小部分,显然这样胡浪费很多的带宽等资源。
websocket协议能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
websocket于http的关系:
相同点:
- 都是一样基于TCP的,都是可靠性传输协议
- 都是应用层协议
不同点:
- websocket是双向通信协议,模拟socket协议,可以双向发送或接收信息。http是单向的
- websocket是需要握手进行建立连接的