在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
随着前端开发中新技术的层出不穷, HTTP 已经不知不觉发展到HTTP/3。对于前端开发技术者来讲,要想不断进步,永葆职业竞争力,最重要的就是紧随技术潮流的发展。本文为大家总结并分析了HTTP/3的原理和发展历程,大家花几分钟来看一下吧~

1、HTTP/3的原理
(1) QUIC协议
在了解HTTP/3的原理之前,我们要先了解QUIC协议。与TCP一直是传输层中举足轻重的协议不同,UDP一直默默无闻,长期以来UDP给人的印象就是一个很快但不可靠的传输层协议。但有时候从另一个角度看,缺点可能也是优点。QUIC(Quick UDP Internet Connections,快速UDP网络连接)基于UDP,正是看中了UDP的速度与效率。同时QUIC也整合了TCP、TLS和HTTP/2的优点,并加以优化。
(2)QUIC和HTTP/3的关系
QUIC是用来替代TCP、SSL/TLS 的传输层协议,在传输层之上还有应用层,我们熟知的应用层协议有HTTP、FTP、IMAP等,这些协议理论上都可以运行在QUIC之上,其中运行在QUIC之上的HTTP协议被称为HTTP/3,这就是”HTTP over QUIC即HTTP/3“的含义。
(3)HTTP/3的核心
HTTP/3功能的核心是围绕着底层的QUIC协议来实现的。TCP可能会间歇性地挂起数据传输,它不支持流级复用,还会产生冗余通信,QUIC协议在以下设计选择的基础上,通过引入一些底层传输机制的改变,解决了这些问题。通过在QUIC之上构建基于HTTP/3的应用层,您可以获得增强型传输机制的所有优势,同时保留HTTP/2的语法和语义。除此之外,HTTP/3还使用了一种新的HTTP头压缩机制,称为QPACK,是对HTTP/2中使用的HPACK的增强。
2、HTTP/3的发展历程
(1)HTTP/1.1出现
随着网络技术的不断进步,早在1999年设计的HTTP/1.1不能满足现实技术的需求,所以 2009基于TCP的SPDY被Google 设计了出来。
(2)SPDY是HTTP/2的前身
再后来SPDY的开发组推动SPDY成为正式标准,但是最终没能通过。不过曾经设计过SPDY的开发组,在后来全程参与HTTP/2的制定过程,因此在参考了SPDY的设计下,HTTP/2出现了。可以说SPDY就是HTTP/2的前身,因此无论是SPDY还是HTTP/2,都是基于TCP的开发出来的。
(3)HTTP/3的出现
但是,我们都知道TCP与UDP相比,效率上存在天然的缺陷,所以在2013年的时候,Google开发团队又了基于UDP的名为QUIC的传输层协议,QUIC英文全名叫做Quick UDP Internet Connections。Google开发团队希望它能替代TCP,帮助网页传输可以更加高效。再后来经过提议,互联网工程任务组正式将基于 QUIC协议的HTTP(HTTP over QUIC)重命名为HTTP/3。这就是HTTP/3的由来和出现的原因。
看完了HTTP/3的原理和发展历程分析,相信大家对于HTTP/3有了更进一步的认识。从HTTP/3发展历程,我们也可以看到随着时代的发展,新技术在不断迭代更新,要想不落于时代和社会,你就要不断的学习进步。博学谷IT在线平台上有着海量优质的学习资源,欢迎大家随之随地登录博学谷网站进行在线学习!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Web前端工程师需要学习那些编程语言?
Web前端工程师需要学习那些编程语言?几年前的web前端工程师只要学会HTML和CSS就可以找到一个适合的岗位,但是在web前端快速的迭代发展过程中,前端工程师的要求也越来越高,仅仅会HTML+CSS的同学也只能拿到行业的最低薪资。一个高薪的web前端工程师需要充分掌握HTML+css、以及JavaScript和jQuery。下面具体为大家介绍这几门语言 。
11662
2019-06-20 17:54:54
前端开发和后端开发都是干什么的?有哪些区别?
前端开发和后端开发都是干什么的?有哪些区别?通俗地讲,前端干的工作是用户可以直接看得见的,而后端开发的工作主要在服务端,用户不太能直接看到。虽然前端开发和后端开发的工作有巨大的区别,但是他们的工作都是相辅相成的,都是为了更好的用户体验。
10204
2019-09-29 10:19:17
Flutter入门学习哪些内容?
入门需要学习Dart语言、Flutter控件体系、动画体系、触摸和交互机制、网络编程、数据存储、状态管理等内容。Flutter是Google力推的跨平台框架,可快速在iOS、Android构建高质量的原生用户界面,且完全免费与开源;
8471
2019-12-30 17:57:05
什么是前端什么是后端?前端后端区别
前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。多数后端开发人员从事于构建工作应用程序背后的实际逻辑。前后端需要相互配合,共同完成一个项目。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页;后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。
10932
2020-01-17 14:28:49
如何学习前端?前端学习路线总结
随着多屏互动和多端兼容友好的界面变得越来与重要,前端工程师也成为了热门的研发技术岗位之一。随着就业市场大环境的改变,一方面是前端人才的紧缺,另一方面是对前端求职者的要求增高,所以我们需要学的东西也不能仅仅只停留在基础层面。那么,我们应该如何学习前端呢?下面为大家总结了一条前端学习路线,大家可以参考一下。
6422
2020-03-04 18:08:35
