HTTP 历史 - 进化过程
HTTP 0.9
1989年 Tim Berners-Lee 蒂姆 · 伯纳斯-李在其论文中确立了:
URI:统一资源标识符
HTML:超文本标记语言
HTTP:超文本传输协议
这个版本的 HTTP 只允许 Get✔️ 方法。
HTTP 1.0
1996年正式发布
增加 HEAD、POST等新方法;
增加响应状态码,标记可能的错误原因;
引入了协议版本号概念;
引入了HTTP Header 的概念,让HTTP处理请求和响应更加灵活;
传输的数据不再限于文本;
此时的HTTP/1.0 还只是一份参考文档,不是正式标准
HTTP 1.1
1999年 HTTP/1.1 发布RFC文档 2616,后面拆分成了RFC7230
增加了PUT、DELETE 等新的方法;
增加了缓存管理和控制;
明确了连接锅里,允许持续连接;
允许响应数据分块(chunked),利于传输大文件;
强制要求 Host 头,让互联网主机托管成为可能;
#### HTTP/1.1 优缺点
HTTP 最大的优点是简单、灵活和易于扩展;
HTTP 拥有成熟的软硬件环境,应用的非常广泛,是互联网的基础设施;
HTTP 是无状态的,可以轻松实现集群化,扩展性能,但有时也需要用 Cookie 技术来实现“有状态”;
HTTP 是明文传输,数据完全肉眼可见,能够方便地研究分析,但也容易被窃听;
HTTP 是不安全的,无法验证通信双方的身份,也不能判断报文是否被窜改;
HTTP 的性能不算差,但不完全适应现在的互联网,还有很大的提升空间。
HTTP 2
2015年 RFC-7540,起初叫做 SPDY 协议
二进制协议,不再是纯文本;
可发起多个请求,废弃了 1.1 里的管道;
使用专用算法压缩头部,减少数据传输量;
允许服务器主动想客户端推送数据;
增强了安全性,事实上 要求加密通信。
面临的问题:主要市场还是在1.1的时代,普及率比较低。
HTTP 3
目前还没正式发布,是有Google发起的心协议,叫做QUIC 协议,在2018年,互联网标准化组织 IETF 将 HTTP over QUIC 改名为 HTTP 3.
HTTP 是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范
评论