WebSocket的原理和与Http的异同点

原理

 WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范。通俗的讲就是服务器和客户端可以都可以主动的向对方发送消息,而不是请求-响应的模式了。

  • 上面这段话是百度百科上描述的WebSocket,WebSocket是应用层的一种协议,是建立在TCP(传输层)协议基础上的,主要特点就是全双工通信。
  • websocket通信能够极大减轻网路拥塞。和传统的轮询操作保持长连接的方式相比也极大了减小了损耗。


WebSocket和Http的异同点

相同点
  • 都是位于应用层的传输协议。
  • 都经过握手环节建立通信。
  • 都是基于TPC协议基础之上。

不同点

  • HTTP的通信过程在经历握手建立连接之后的通信都是请求响应的方式,服务端不能主动的向客户端发送消息;而WebSocket在服务端和客户端建立连接之后,服务端可以主动的向客户端发送消息。
  • websocket传输的数据是二进制流,是以帧为单位的;http传输的是明文传输,是字符串传输。
  • WebSocket是长连接,原则上除非主动关闭连接,在建立连接之后,双发可以互发消息;而HTTP1.0是客端户发起请求,服务端响应然后就结束了,如果客端户和服务端再有交流还要重新发起握手然后请求-响应。在HTTP1.1中有了改进(加了keep-alive),在一次连接允许多次的“请求-应答”。
  • 再就是在HTTP和WebSocket的请求头部会有区别,这一点后文详解。且通信过程中通信头部比较轻。image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值