- Web 性能优化:TCP
- Web 性能优化:TLS
- ⚓ Web 性能优化:HTTP
以 Web 应用为代表的互联网肇始于 1991 年 Tim Berners-Lee 提出的 HTTP/0.9 协议,经过 30 多年的发展,伴随着 IT 巨头的明争暗斗,已经逐渐渗透进我们生活的方方面面,成为当代社会不可或缺的组成部分。
HTTP 协议的历史
1991 年,HTTP(HyperText Transfer Protocol,超文本传输协议)第一个版本 — HTTP/0.9,诞生了,功能比较简陋,设计目标包括:
- 支持文件传输;
- 能够通过索引搜索 HTML;
- 格式化协商机制;
- 能够把客户端引导到不同的服务器。
HTTP/0.9 奠定了整个互联网交互的大框架:
- 客户端(请求)—服务器(响应)模式;
- 基于 TCP/IP 协议栈。
- 在 HTTP/0.9 版本中,TCP 连接在每次 HTTP 请求后都会关闭。
1996 年,HTTP/1.0 版本(rfc1945)发布,主要是参考性质的,总结了一些最佳实践和模式,增加了内容协商,响应对象不再局限于 HTML,彼时一个请求仍然对应一个 TCP 连接。
1997 年,HTTP/1.1 版本(rfc2068)正式发布,厘清了之前版本中很多有歧义的地方,并对性能进行了优化:
- 持久连接,复用 TCP 连接;
- 分块编码传输;
- 字节范围请求;
- 增强的缓存机制;
- 传输编码;
- 请求管道,不用等待前一个请求回应就发送下一个请求,支持的不多。
2015 年,HTTP/2 版本(rfc7540)发布,主要聚焦性能,将原来基于文本传输的模式改为基于二进制数据,在传输层之上引入二进制分帧数据层,每个【主机:端口】组合仅一个持久的 TCP 连接,在该连接上进行多路复用。
2022 年,HTTP/3 版本(rfc9114)发布,使用的传输层协议从 TCP 改为 UDP。
从 HTTP/0.9 到 HTTP/3,针对不同的场景和需求,协议在不断地进化,但现实世界中难以对大量的软硬件进行统一升级,所以无法做到一键切换,新旧协议的交替往往需要持续一段相当长的时间(一般 5-10 年),所以在一段时间里,客户端、代理、服务器仍然需要同时支持多种版本的 HTTP 协议。
性能优化
对 Web 应用来说,性能优化可以简要描述为:如何更快地完成用户请求。
个人理解的核心原则是:(在大多数时候)尽量减少网络请求。—— 有点像车轱辘话
标签:Web,缓存,HTTP,请求,TCP,优化,连接,服务端 From: https://www.cnblogs.com/read-the-spring-and-autumn-annals-in-night/p/16886755.html