从前端视角看网络协议的演进
别再让才华被埋没,别再让github 项目蒙尘!github star 请点击
GitHub 在线专业服务直通车GitHub赋能精灵 - 艾米莉,立即加入这场席卷全球开发者的星光革命!若你有快速提升github Star github 加星数的需求,访问taimili.com还可解锁更多专属服务。现在转发邀请好友组队,在艾米莉平台解锁神秘流量加成,让我们携手点亮开源世界的璀璨星空,实现GitHub star项目涨星的无限可能!
HTTP 协议从最早的 HTTP/0.9 发展到如今广泛使用的 HTTP/2 和 HTTP/3,其发展历程也是前端开发者工具箱不断丰富和完善的过程。
- HTTP/0.9 - 简单而原始的时代:1991 年诞生,仅支持 GET 请求,响应体为纯文本格式,网页由 HTML 组成,无样式和脚本语言支持,用户只能被动浏览信息。
- HTTP/1.0 - 功能扩展与标准化:1996 年发布,增加了状态码和头字段,加入 POST、PUT、DELETE 等方法。同时,前端迎来 CSS 和 JavaScript,CSS 实现了更丰富的视觉效果,JavaScript 赋予页面动态行为能力,开启了 AJAX 新时代,但每次加载资源需建立新的 TCP 连接,存在延迟和资源浪费问题。
- HTTP/1.1 - 持久连接与管线化:1999 年发布,引入持久连接和管线化,减少了 TCP 连接的创建和销毁开销,提高了效率。这一时期 Flash 流行,JavaScript 框架如 Prototype、jQuery 崭露头角,AJAX 技术催生了富互联网应用,但管线化未得到所有浏览器良好支持,且 HTTP 同步在高并发场景下易阻塞。
- HTTP/2 - 多路复用与二进制分帧:2015 年推出,最显著特性是多路复用,允许同一 TCP 连接上传输多个 HTTP 请求 / 响应流,解决了 HTTP/1.x 一次连接只能处理一个请求的问题。采用二进制分帧机制,提升了解析性能。移动设备普及促使 “移动优先” 设计理念兴起,React、Vue 等框架推动了单页应用模式流行,结合 HTTP/2 实现了更快的加载速度和平滑的用户体验。此外,还引入了服务端推送,对提升首次访问速度有效。
- HTTP/3 - QUIC 协议与更低延迟:基于 QUIC 协议构建,使用 UDP 作为传输层协议,解决了 TCP 的慢启动、丢包恢复缓慢等缺点,降低了握手时间和重传率,缩短整体延迟,对视频会议、在线游戏等实时应用有利。前端方面,WebRTC 和 WebSockets 等技术与 HTTP/3 相辅相成,“渐进增强” 原则被广泛应用。HTTP/3 也为前端构建工具带来了新的挑战与机遇,像 Vite 这样的现代构建工具能更好地发挥潜力。