Http是我们都熟悉的,它是一种协议,基于TCP之上,用于网络通信的应用层上的协议。同时它也是一种短连接(非持久化的),单向的(服务端无法主动给客户端发送数据)网络协议。
一、为什么需要WebSocket协议
Http在即时通信上有缺点很明显,因为它是单向的,如果要实现即时通信,需要利用“轮询”(每隔一定时间,如1秒,就由客户端发送一个Request请求用于获取新数据,从而更新状态),这样的话会导致资源浪费,因为Http的Header都比较长,为了更新数据状态,发送一个空请求,都是需要占用很多带宽的。
因此,就有了WebSocket协议的出现了,它是HTML5中新增的协议,是HTML5标准的其中一部分。
WebSocket协议的出现使得浏览器提供对Socket的支持成为可能,从而在浏览器和服务器之间提供了一个基于TCP连接的双向通道。
二、WebSokcet和Http的区别在哪
WebSocket和Http的异同点主要有下面几点:
相同点:
1、都是基于TCP协议的,都是可靠性的传输协议。
2、都是应用层上的协议。
不同点:
1、WebSocket是一种双向通信协议(Http是单向的),模拟Socket协议,在建立连接后,WebSocket可以使服务器与客户端(Browser/Client)两者都能主动向对方发送和接收数据,就是Socket一样。
2、WebSocket需要类似