1.协议层不同:HTTP是应用层协议,WebSocket是基于TCP的应用层协议;
2.请求-响应方式不同:HTTP使用请求-响应方式,每次请求都需要重新建立连接,传输完毕后,连接关闭;WebSocket支持双向通信,服务端和客户端可以同时发起消息;
3.传输数据格式不同:HTTP传输数据是短报文,即请求和响应。WebSocket传送的是完整的数据帧,可以任意传输格式化的数据;
4.连接方式不同:HTTP请求需要通过URL和端口建立连接。WebSocket则需要在客户端和服务端手动协商连接,一旦连接成功后,客户端和服务端之间就可以直接通信,不用再通过连接IP和端口;
5.性能特点不同:HTTP 1.1一次只能处理一个请求,且请求头较长,需要不停交互,造成较大的流量开销;WebSocket能够每次建立一次连接,持久化连接并发送数据,数量会大大减小。在网络高峰期,可以大幅降低网络传输的效率。