http与websocket的关系

http

  1. http是应用层协议,是基于tcp协议的,所以http建立连接的时候必须要经过三次握手。
  2. 每一次交换都是客户端主动发起请求(request),服务端被动应答(response)。
  3. 服务器不能主动向客户端推送数据。
  4. 通信的数据是基于文本格式的。二进制数据(比如图片等)要转化为base64编码文本后才能传输。

长连接和短连接

短连接:是每次请求都要三次握手建立连接才能发送信息,完成一次通信之后就把连接断开。发送消息过程中一个request对应一个response

长连接:建立连接了在一段时间内保持连接,tcp不会断开。客户端与服务器通信,必须由客户端发起request,然后服务器返回结果。即客户端是主动的,服务器是被动的。

 

websocket

WebSocket是HTML5规范提出的一种协议,它是封装在socket协议的上层协议。它是为了解决 客户端发起多个http请求服务器资源 必须要经过长时间轮询的问题而产生的,它能实现多路复用。

  1. websocket建立连接时,数据是通过http传输的,建立连接后就不需要http协议了。
  2. websocket建立连接后就是全双工模式,也是基于tcp协议。
  3. 建立连接之后,不必在浏览器(客户端)发送request之后服务器才能发送信息到浏览器,这时候服务器有主动权,可以随时发消息给浏览器(客户端)。
  4. 发送的信息中不必带有head部分信息了,相对于http来说,降低了服务器的压力,极大的减少了不必要的网络流量与延迟。

 

 websocket与http的关系

  • 相同点:

1.都是基于tcp协议,都需要三次握手建立连接,都是可靠传输协议

2.都是应用层协议

  • 区别:

1.websocket是双向通信协议,模拟socket协议,而http是单向的。

2.websocket需要浏览器(客户端)和服务器握手进行连接的,而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接。

 


参考:

https://www.cnblogs.com/guoke-jsp/p/5782653.html

https://blog.csdn.net/yamaxifeng_132/article/details/83583497

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liguiyuan112

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值