HTTP 发展史

什么是HTTP?

超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

HTTP是怎么产生的?

HTTP 诞生与 1989年3月。
作者是 CERN(欧洲核子研究组织)的Tim BernersLee(蒂姆·伯纳斯 - 李)博士。
最初设想的基本理念是:借助多文档之间相互关联形成的超文本(HyperText),连成可相互参阅的 WWW(World Wide Web,万维网)。当时在发表的文章中提到了三个重要的组成元素:HTTP(超文本标记语言,描述超文本)、HTML(超文本传输协议,传输超文本)、URL(统一资源标识符,作为互联网上的唯一标识。);

HTTP的发展

HTTP 0.9

发布时间:1991年
发布内容:0.9协议是适用于各种数据信息的简洁快速协议,它非常简单,只支持GET请求方法,响应为HTML格式的文本,没有请求头和响应头。这个版本的HTTP被设计为一种简单的文件传输协议,它只能传输静态文本文件,没有任何动态内容。

HTTP 1.0

发布时间:1996 年 5 月
发布内容:相比较0.9的版本,1.0不仅支持多种请求方法,包括GET、POST、PUT、DELETE等,这使得HTTP变得更加灵活。其次,它引入了请求头和响应头,这些头部信息可以包含很多有用的数据,如内容长度、缓存控制等。

HTTP 1.1

发布时间:1997 年 1 月
发布内容:第一个重要升级就是,通过在header中引入Connection: keep-alive,支持持久连接。它允许多个请求和响应在同一个TCP连接中进行,这避免了每个请求都需要建立一个新的TCP连接的问题。
第二个重要升级是,支持管道化技术,它可以让浏览器同时发送多个请求,不用等待服务器返回。提高了并发性能。虽然它解决了http1.0的两个问题,但其自身也存在缺点,那就是队头堵塞,HTTP/1.1 所有的数据通信都是按次序完成的,服务器只有处理完一个请求,才会处理下一个请求,如果前面的请求处理特别慢,后面就会有很多请求排队等着,严重影响整个页面加载

HTTP 2.0

发布时间:2012 年
发布内容:首先支持首部压缩,HTTP/2做了两件事
第一,减少头部信息数据大小,通过HPACK算法将头信息压缩后再发送。
第二,减少信息发送次数,客户端和服务端同时维护一张头信息表,所有字段都会存入这个表,以后请求只要发送不同字段即可,这样就提高速度了其次支持多路复用,通过单一连接可以发送多个的请求-响应消息,不用按照顺序一一对应,这就避免了队头堵塞问题,每个请求或回应的所有数据包,称为一个数据流(stream),每个数据流都有一个独一无二的编号来区分。数据流的最小单位是帧,帧会组成消息数据包,多个消息数据包组成流,一个tcp连接里,可并发许多流。
最后http2支持服务端推送,即允许服务端未经请求,主动向客户端发送资源。从此浏览器告别long polling, 这可以减少浏览器的请求次数和等待时间,从而提高页面加载速度。

HTTP 3.0

发布时间:2022 年 6 月 6 日
发布内容:与前面几个版本相比,HTTP/3采用QUIC协议,QUIC协议是一种基于UDP协议的新型协议,它可以减少连接建立的延迟和丢包率,从而提高网络性能。
首先quic的建连更快,我们知道TCP需要三次握手,耗费3RTT才能实现数据传输,QUIC基于UDP只需0RTT就能实现数据传输,即可以让浏览器在第一次连接时就发送请求;
其次HTTP/3还支持连接迁移,它可以让客户端在不同网络无缝的切换,而tcp在切换网络的时候要不断的重连,无法做到那么丝滑。这个因为quic通过一个64 位的随机数作为 ConnectID 来标识连接。不同的网络,但是ConnectID是一样的,所以其依旧是同一条连接。

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值