从HTTP/0.9到HTTP/3:细数http协议的进化史
http协议是前端工作者必须了解的知识,也是面试的重要考点,今天就讲一下http协议的发展历程。
一、http0.9
http0.9是在1991年发布的协议,考虑到当时的社会情况和计算机发展,我们不难想象,彼时的电脑最多就是向服务器请求一个页面,所以协议也就较为简单,规定服务器只能返回html格式的字符串。
二、http1.0
到了1996年,计算机飞速发展,http协议随之升级。它增加了更多格式内容的传输,诸如图像、视频、二进制文件等,此外还增加了post请求和head请求,丰富了浏览器与服务器的互动手段。同时引入缓存、状态码等功能。
三、http1.1
四、http2
http1.1用了二十多年了,使用情况也还ok,但工程师们不满足于此,觉得有必要进一步优化。主要是针对http1.1的请求头数据太大(毕竟现在cookie都老长了,还经常来回传输)、response是按照顺序返回的、不支持服务器推送等等缺点做了优化。
五、http3
http3以前的协议都是基于更底层的tcp协议,tcp协议有一个很好的优点就是它很可靠。如果有一个数据包丢失了没传到客户端,那它会要求服务器再次发送,直到接收到完整的数据(当然,实在接收不到就算这个请求超时相应挂掉了)。对于网络连接状况好的地方来说,这都不是事,可对于网络连接差的地区,要是有一个数据包丢失,那这个请求剩余的数据包就要等待了。如果有多个请求的话,他还会影响后面请求的处理。同时,由于现在基于一个tcp管道有了复用功能,很多响应几乎都可以同时响应,这对服务器的压力其实也蛮大的,导致瞬时 QPS 暴增。再者,网络宽带以及客户端、服务端的性能或者说资源也有限制,不可能一瞬间全部传输完毕。工程师们觉得,那干脆基于UDP协议弄一个新版本出来,于是http3应声落地。它是基于UDP的一个新协议,改掉了底层的tcp协议并对传输做了优化和调整以保证数据传输的完整性。
总结
- 点赞
- 收藏
- 关注作者
评论(0)