IM即时通信的一些基本概念梳理

一、WebSocket和HTTP的区别

相同点:
WebSocket 和 HTTP 都是基于TCP的应用层协议,都是可靠性传输协议。

不同点:

1、HTTP请求是单向的,需要等到客户端发起请求,服务端才能响应;

      WebSocket是全双工协议,客户端通过HTTP/1.1协议进行握手,连接就建立了,通信双方都可以在任何时刻向另一方向发送数据,指导关闭请求

2、HTTP请求需要再每次请求都携带很多状态信息

     WebSocket需要先创建连接,所以使得其是一种有状态的协议,之后通信时可以省略部分状态信息

3、WebSocket定义了二进制帧,相对HTTP可以更轻松地处理二进制内容

 

二、客户端和服务端通讯的成长阶段

1、轮询(Polling)阶段

客户端发送请求Request,服务器不管有没有新消息,立即返回Response,然后关闭链接,over

2、长轮询 (Long polling) 阶段

客户端发送请求Request,服务器没有消息就一直不返回Response,等到有新消息或者超时后再返回给客户端,然后请求结束

3、WebSocket阶段

(1)客户端通过HTTP/1.1协议的101状态码发送请求,客户端进行回应,即第一次握手完成

(2)双方建立了信任关系,客户端和服务端可以互相发送消息

(3)客户端发送结束通讯的请求,服务端回应,ove

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值