WebSocket
WebSocket是什么
WebSocket是HTML5新增的协议,它的目的是在浏览器和服务器之间建立一个不受限的双向通信的通道,比如说,服务器可以在任意时刻发送消息给浏览器。
为什么要有WebSocket 原先的请求不行吗?
这是因为HTTP协议是一个请求-响应协议,请求必须先由浏览器发给服务器,服务器才能响应这个请求,再把数据发送给浏览器。换句话说,浏览器不主动请求,服务器是没法主动发数据给浏览器的。
轮询可以么?
轮询是指浏览器通过JavaScript启动一个定时器,然后以固定的间隔给服务器发请求,询问服务器有没有新消息。这个机制的缺点一是实时性不够,二是频繁的请求会给服务器带来极大的压力。
综上,WebSocket很好的解决了服务器想要给客户端传递的需求,实现了服务器和客户端的沟通对等。WebSocket通过浏览器向server发送请求,建立连接,然后就可以将HTTPS连接升级为WebSocket连接。