文章目录
一、WebSocket
1、为什么要用WebSocket
为什么我们有了http请求之后,还要用WebSocket呢?
http只能是单向发起的,只能由客户端主动发起,服务端被动响应。服务端无法主动向客户端发送消息,如果想实现类似于聊天室这种即时通讯的功能,就需要使用消息轮询。轮询的效率低,比较消耗资源。(每次建立http连接都进行三次握手,并且每次请求都需要携带请求头),开发人员为了解决这个问题,发明了webSocket
2、什么是WebSocket
WebSocket是HTML5规范提出的一种协议。
它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。
3、websocket特点
websocket建立连接时,数据是通过http传输的,建立连接后就不需要http协议了。
websocket建立连接后就是全双工模式,也是基于tcp协议。
建立连接之后,不必在浏览器(客户端)发送request之后服务器才能发送信息到浏览器,这时候服务器有主动权,可以随时发消息给浏览器(客户端)。
发送的信息中不必带有head部分信息了,相对于http来说,降低了服务器的压力,极大的减少了不必要的网络流量与延迟。
没有同源限制,客户端可以与任意服务器通信
协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。
4、使用方法
- 打开链接
- 发送消息
- 监听服务端消息
- 关闭连接