UDP vs TCP,HTTP2.0和3.0----以时代的发展认识协议进步

TCP vs UDP

 

 

传输层协议
UDP(User Data Diargram)

  • 比TCP节省网络资源和迅速
    • 不需要连接(延迟更低),但是存在可能你发过去但是服务端没收。
    • 封包体积小(传输速度快),不需要TCP的那些头部
    • 不关心数据顺序(不需要序号和ACK,传输快速)
    • 不保证数据不丢失

连接
TCP三次握手,保证信息可达。
UDP直接传输,

重发(效验)
TCP 每一次要一个返回,没有返回会重新发。
UDP 消息过去就是过去,不需要返回

UDP不保证顺序
因为没有ACK,只要发。

所以,并不是说UDP不安全,UDP自由度更高。。。

  • 需要用户程序在应用层定义类似的机制(自由度高,因为要自定义东西,所以会定义到应用层去。
  • TCP面向流(API接收流)、UDP面向消息(API接收数据包)【UDP也可以自己写出流。

场景不同
以前不愿意用UDP传文件,因为不保证一定传的过去。但随着互联网发展,就对速度更加强烈。

  • 模糊:文本&文件,多媒体。
  • TCP:远程控制 远程控制自己的服务器,要保证自己安全性
  • UDP:DNS查询

HTTP2.0

多请求多路复用
HTTP1.1排队问题
多个文件排队复用一个TCP通道,这里发出和回来都需要排队,如果队伍上的文件阻塞了,那么就会卡住。
最多会建6个TCP连接。

 

HTTP2.0多路复用
如果两个数据比较相近,那么也就是说会将两个打包一起发过去,其中如果一个出错了,但是其他都还可以过去,串行变成并行。大块化小,能传都传。

HTTP1.1队头阻塞
HTTP2.0解决
同时发出同时请求。但是TCP还是一样没有解决,发分包没有返回的阻塞。

压缩头部
HPACK技术
压缩(2代表METHOD GET)

服务端推送
本来我们有index.html a.js b.css
没有服务端推送就是先请求html回来,发现还要请求a.js 和b.css
有服务端推送就会一起过来,就是在服务端的时候可以先解析html,在一起来
服务端推送(悖论)
index.html. 20个js,150个图片,
有时会发生图片先进js没有就不会执行。

H2基本不用雪碧图。
前端还需要Gzip(通用的文本压缩,还是需要的)。
js/css不需要合并,js压缩还是需要。
首屏优化还是需要的。

HTTP3.0 是什么

网络层是非常稳定
基于TCP上存在2.0以下版本,到TCP上之前还有加密层。
3.0把TCP换成UDP,需要自己去保证,之间加了一个QUIC层,去自己写,里面把加密压缩都做了。

 

UDP把自由度给了用户,使用人少,TCP自由度低,用的人就多
HTTP2.0/HTTP3.0都会向前兼容

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值