当前位置: 首页 > article >正文

HTTP协议发展

HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC)

每一代HTTP解决了什么问题?

下图说明了主要功能。

  • HTTP 1.0 于 1996 年最终确定并完整记录。对同一服务器的每个请求都需要单独的 TCP 连接。

  • HTTP 1.1 于 1997 年发布。TCP 连接可以保持打开状态以供重用(持久连接),但它并没有解决 HOL(队头)阻塞问题。

    HOL阻塞——当浏览器允许的并行请求数用完时,后续请求需要等待前面的请求完成。

  • HTTP 2.0于2015年发布,通过请求复用解决了HOL问题,消除了应用层的HOL阻塞,但传输层(TCP)仍然存在HOL。

    如图所示,HTTP 2.0 引入了 HTTP“流”的概念:一种允许将不同的 HTTP 交换复用到同一个 TCP 连接上的抽象。每个流不需要按顺序发送。

  • HTTP 3.0 第一稿于 2020 年发布。它是 HTTP 2.0 的拟议后继者。它使用 QUIC 而不是 TCP 作为底层传输协议,从而消除了传输层的 HOL 阻塞。

QUIC 基于 UDP。它将流作为传输层的一等公民引入。QUIC 流共享相同的 QUIC 连接,因此创建新流不需要额外的握手和缓慢启动,但 QUIC 流是独立交付的,因此在大多数情况下,影响一个流的数据包丢失不会影响其他流。

HTTP 状态代码

HTTP 的响应代码分为五类:

信息性 (100-199) 成功 (200-299) 重定向 (300-399) 客户端错误 (400-499) 服务器错误 (500-599)

 


http://www.kler.cn/a/149630.html

相关文章:

  • 大语言模型(LLM)攻击技术研究项目申请
  • 腾讯首个3D生成大模型Hunyuan3D-1.0分享
  • HTB:Precious[WriteUP]
  • 数字时代企业的基本数据丢失预防策略
  • 自动化Git仓库同步:使用Shell脚本与Cron Jobs定时任务
  • Golang--网络编程
  • 虚幻学习笔记3—UI跟随弹窗
  • Kafka生产者发送消息的流程
  • 电商盛行的今天,这个平台热度还在持续增高!
  • C语言:输入3个整数,按由小到大的顺序输出(指针)
  • 数字化时代的政务服务:构建便捷高效的线上政务大厅
  • Centos7使用rpm安装mysql 5.7.43
  • 【matlab程序】matlab画台风符号和实例应用
  • Web UI自动化测试框架
  • 1.5 C语言之字符输入输出
  • 初始本地仓库推送到远程仓库-git
  • 如何在自定义数据集上训练 YOLOv8 实例分割模型
  • Spring的@Feign源码分析
  • 【解决】HDFS JournalNode启动慢问题排查
  • SpringCloud之服务网关Gateway组件使用——详解
  • uniapp+微信小程序监听返回事件
  • Postman进阶功能实战演练
  • Vue框架学习笔记——计算属性
  • C++内存管理
  • 西南科技大学信号与系统A实验三(线性连续时间系统的分析)
  • 前后端分离前端请求后端接口的方式