新技术的出现,我们不妨问几个问题:
本篇文章不会全部回答上面的问题,后续的文章会慢慢解答。
进化史
1963年,提出“超文本”的概念,1965年首次出现在 Ted Nelson 的文章中,其含义:
“
大量的书面材料或图像材料以复杂的方式相互联系,因此不便在纸介质上呈现或展示。其中可能包含内容摘要,或者内容分布的脉络图以及各部分的内在联系;也可能包含审阅过其中内容的学者所添加的注释、补充或脚注。
”
1989年,HTTP开始进入人们的视野。Tim Berners-Lee采用了 Ted Nelson 的两个概念:超文本和超媒体。
1991年,HTTP/0.9确立,但是其相当简单,只有 GET 方法,没有首部。设计目的就是获取HTML(纯文本)。
1996年,HTTP/1.0规范通过,相较于0.9更新了大量内容:
......
虽有巨大飞跃但存在多个请求不能共用一个连接、缺少强制Host首部、缓存的选择简陋,依旧影响了Web可扩展的方式。
1999年,HTTP/1.1跟着也被确定,强制客户端提供Host首部,使得虚拟主机托管(一个IP上提供多个Web服务)成为可能。重用TCP连接,提高性能和效率。变更如下:
之后就没有再变化,也不再改进。但是Web发生了翻天覆地的变化,最早只有几千字节、包含资源只有个位数、主要基于文本的网页,如今发展为平均大小超过2MB、包含资源数平均为140的富媒体网站。同时用户对性能的期望也改变了,不能忍受龟速网站。
诞生背景
从上面的进化史可以看出,HTTP/1.1已经不能适应Web时代的发展,Web的发展已经超过了起初创造者的想象。急需要一个能抗住越来越复杂Web应用的协议。也就是在2015年,HTTP/2成为正式协议:可以更好地适应复杂页面,同时又不牺牲速度、支持HTTP/2的应用不断增加、网管可以利用它花很少的成本来提高网站的感知性能。
HTTP/2被寄予的期望
相比于使用TCP的HTTP/1.1,最终用户可感知的多数延迟都有能够量化的显著改善;
个人总结:
顺时代者昌,逆时代者亡。协议亦如此,人异乎?