关于HTTP协议那些事

本文深入探讨HTTP协议的发展历程,从HTTP/0.9到HTTP/3,详细解析HTTP报文结构、缓存机制及大文件传输策略,包括数据压缩、分块传输和范围请求。通过学习,了解HTTP协议在提升网络传输效率和安全性上的演进。
摘要由CSDN通过智能技术生成

前言

说到http协议,相信大家也都不陌生。毕竟是跟工作息息相关的,想着好好深入一下,正好看到了罗老师的《透视HTTP协议》,也算是说透了揉碎了,讲的明明白白。下面就里面的内容做了这篇学习总结

开始之前先抛出几个问题:

  • 是什么在促进HTTP的发展?

  • post请求是什么样的?

  • 缓存在浏览器network中的体现?

  • HTTP的大文件传输?一切都在发展,想想更好的方案

  • HTTP协议跟TCP/IP协议栈的关系

下面就开始唠了~~~

2HTTP 发展史

http发展史

HTTP 的发展历程

HTTP/0.9(90年代初)

受限于当时的大环境,只支持get的纯文本传输,后定义为HTTP/0.9 --- 是小范围的试炼

  • get纯文本数据的传输

HTTP/1.0(93年)

得益于jpeg及mp3等数据格式的问世,用户期待图文并茂的网页 --- 小有成就

  • 增加了 HEAD、POST 等新方法;

  • 增加了响应状态码,标记可能的错误原因;

  • 引入了协议版本号概念;

  • 引入了 HTTP Header(头部)的概念,让 HTTP 处理请求和响应更加灵活;

  • 传输的数据不再仅限于文本。

HTTP/1.1(99年)

经历了第一次浏览器大战的HTTP/1.0扛住压力,推动了http的进一步完善。--- 破茧成蝶,正式成为标准(RFC 2616)

  • 增加了 PUT、DELETE 等新的方法;

  • 增加了缓存管理和控制;

  • 明确了连接管理,允许持久连接;

  • 允许响应数据分块(chunked),利于传输大文件;

  • 强制要求 Host 头,让互联网主机托管成为可能。

不过由于 HTTP/1.1 太过庞大和复杂,所以在 2014 年又做了一次修订,原来的一个大文档被拆分成了六份较小的文档,编号为 7230-7235,优化了一些细节,但此外没有任何实质性的改动。

更上一层楼,HTTP/2(2015年)

“挟用户以号令天下”,Google 借此顺势把 SPDY 推上了标准的宝座,互联网标准化组织以 SPDY 为基础开始制定新版本的 HTTP 协议,最终在 2015 年发布了 HTTP/2,RFC 编号 7540。

  • 二进制协议,不再是纯文本;

  • 可发起多个请求,废弃了 1.1 里的管道;

  • 使用专用算法压缩头部,减少数据传输量;

  • 允许服务器主动向客户端推送数据;

  • 增强了安全性,“事实上”要求加密通信。

追求极致,HTTP/3

这一次还是Google,而且它要“革自己的命”。2018 年,互联网标准化组织 IETF 提议将“HTTP over QUIC”更名为“HTTP/3”并获得批准,HTTP/3 正式进入了标准化制订阶段。

结合发展史的总结

  • 从无到有

  • 从简单到复杂

  • 从实现到不断的优化扩展

  • 从无人知晓到无人不晓

  • 追求安全、高速、便捷的传输

综上,大家可以思考下第一个问题了,你觉得呢? 有兴趣的可以去看参考资料里的协议详解。

3HTTP 的报文

客户端

请求行 GET / HTTP

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值