HTTP 1.0 1.1 2.0 3.0有什么区别

1.什么是HTTP协议

        HTTP协议又叫超文本传输协议,是一种用于在web浏览器和web服务器之间交换数据的应用层协议。

2.HTTP发展历程

        HTTP协议到目前为止,所有的版本可以分为HTTP 0.9/HTTP 1.0/HTTP 1.1/HTTP 2.0/HTTP 3.0版本,其中目前普遍应用的是1.1版本,正在推进的是2.0版本,未来会使用3.0版本。

HTTP 0.9:从90年代初诞生开始,http并没有广泛流行起来,那时候上网的人数还是极少数,并没有形成正式的标准对外发布,所以通常将1.0版本以前的http称作0.9版本,有HTTP 1.0之前版本的意思。

HTTP 1.0:1996年公布的第一个版本,并不是一个标准,更像是资料整理和笔记,记载于RFC1945,初期版本,但是该协议至今仍被广泛使用。

HTTP 1.1:1999年发布的一个正式标准,是对1.0版本的完善和补充,记载于RFC2616,也是目前主流的HTTP协议版本,被广泛使用在各种web服务器和应用上。虽然1.1版本在传输状态,身份识别、数据安全上存在一些不足,但是后来都通过各种手段得到了补充和优化,1.1版本至今已经有20多年的历史,一直被沿用至今,几乎没有较大的更新,但是协议本身却被广泛使用,这组件http协议指定者的高瞻远瞩。

HTTP 2.0:近十年来,以谷歌为首的互联网巨头组成工作组,开始指定HTTP的2.0标准,2004年推出chrome浏览器,从多路复用、数据加密等多方面改善1.1版本的不足。

HTTP 3.0:已经开始,有可能我们会从1.1直接进入3.0时代。

3.不同版本HTTP协议特点

3.1 HTTP 1.0
  • HTTP 1.0规定浏览器和服务器保持短连接,浏览器每次请求都需要与服务器建立一个TCP连接。

  • HTTP1.0还规定下一个请求必须在前一个请求响应到达之后才能发送,如果前一个请求的响应一直不到达,后面的请求就都被阻塞了,所以HTTP1.0存在请求的队头阻塞。

  • HTTP1.0还不支持断点续传,每次都会传输全部的页面和数据,在只需要部分数据的情况下就会浪费多余带宽。

3.2 HTTP 1.1
  • HTTP1.1 解决了1.0版本存在的问题,它可以保持长连接,避免每次请求都要重复建立TCP连接,提高了网络的利用率

  • HTTP1.1可以使用管道传输,支持多个请求同时发送,但服务器还是按照顺序先回应前面的请求,再回应后面的请求,如果前面的请求回应特别慢,就会阻塞后面的请求响应,所以HTTP 1.1还是存在响应的队头阻塞问题
  • 另外HTTP1.1已经可以断点续传
3.3 HTTP 2.0
  • HTTP 2.0是HTTP协议的第一个主要修订版,它与前面的版本用于传递数据的方法有很大的差异,HTTP2.0会压缩头部,如果同时有多个请求其头部一样或相似,那么协议会消除重复部分,

  • HTTP 2.0将请求和响应消息编码为二进制,而不再使用之前的纯文本消息,增加了数据传输的效率,

  • HTTP 2.0可以在一个TCP连接中并发多个请求或回应,而不用按照顺序一一对应,从而彻底解决了HTTP层面队头阻塞的问题,大幅度提高了连接的利用率,

  • HTTP2.0还在一定程度上改善了传统的请求应答工作模式,服务端不再是被动地响应,而是可以主动向客户端发送消息,推送额外的资源,

3.4 HTTP 3.0
  • HTTP 2.0虽然通过多个请求复用一个TCP连接解决了HTTP的队头阻塞,但是一旦发生丢包,就会阻塞住所有的HTTP请求,这就属于TCP层队头阻塞。为了解决这个问题,HTTP 3.0直接放弃使用TCP,将纯属层协议改为UDP,但因为UDP是不可靠传输,所以这就需要QUIC实现可靠机制。
  • QUIC全称“快速UDP互联网连接”,是由Google提出的使用UDP进行多路并发传输的协议,QUIC有自己的一套机制可以保证传输的可靠性,当某一对请求响应发生丢包时,只会阻塞当前的请求响应,其他请求响应不会受到影响。因此完全不存在队头阻塞问题。
  • HTTP 3.0使用了UDP作为传输层协议,能够减少三次握手的时间延迟,从而达到快速建立连接的效果。此外QUIC协议可以使用连接ID来标记通信的两个断点,及时移动设备的网络发生变化,导致IP地址变化了,只要还有连接ID和TLS秘钥等上下文信息,就可以复用原链接,从而实现连接迁移。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP 协议是一种用于 Web 通信的应用层协议,目前主要有以下几个版本: 1. HTTP/1.0:最早的版本,于 1996 年推出。它使用短连接(即每次请求都需要建立和关闭连接),并且不支持持久连接、管线化、虚拟主机等特性。 2. HTTP/1.1:于 1999 年推出,是目前最广泛使用的版本。它引入了持久连接、管线化、请求头压缩等特性,可以大幅提高网络传输效率。此外,HTTP/1.1 还支持虚拟主机、缓存等特性,使得 Web 应用程序更加灵活和高效。 3. HTTP/2.0:于 2015 年推出,是 HTTP 协议的最新版本。它引入了二进制分帧、多路复用、头部压缩、服务器推送等特性,可以进一步提高传输效率和性能。HTTP/2.0 还支持流量控制、优先级和服务器提示等特性,使得 Web 应用程序更加快速、可靠和安全。 4. HTTP/3.0:正在研究开发中,预计将于未来几年推出。HTTP/3.0 将使用基于 UDP 的 QUIC 协议,可以进一步提高传输效率和性能,同时还具有更好的安全性和可靠性。 总体来说,HTTP/1.01.12.03.0 版本的主要区别在于传输效率、性能和安全性方面的改进。HTTP/1.01.1 主要是在连接管理和头部处理方面的改进,HTTP/2.03.0 则在传输协议的基础上引入了更多的特性,如二进制分帧、多路复用、服务器推送等,以提高传输效率和性能。同时,HTTP/2.03.0 还具有更好的安全性和可靠性,可以更好地满足现代 Web 应用程序的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值