了解HTTP/1.1、HTTP/1.0 和 HTTP/2.0

HTTP/1.1、HTTP/1.0 和 HTTP/2.0 是超文本传输协议(HTTP)的三个主要版本

先解释一下什么是超文本协议

超文本传输协议(HyperText Transfer Protocol,简称 HTTP)是互联网上应用最广泛的一种网络协议。设计 HTTP 的初衷是为了允许浏览器从服务器获取(或向服务器提交)网页数据,从而在用户之间交换信息。

基本特性

  1. 客户端-服务器模型:HTTP 采用请求-响应模式,在这个模型中,用户代理(通常是 Web 浏览器或 Web 爬虫)充当客户端,向服务器发送请求,服务器则处理请求并返回响应。

  2. 无状态协议:HTTP 是一个无状态协议,意味着服务器不会保留任何客户端的请求信息。为了解决这个问题,Web 应用通常使用 cookies 来维护用户的状态。

  3. 可扩展性:HTTP 允许传输任何类型的数据,只要双方都能够识别和处理这些数据。这使得它不仅限于传输 HTML 文件,还可以传输图像、视频、音频等多媒体文件。

  4. 超文本:HTTP 主要用于传输超文本,即链接文档。这些文档可以包含链接,指向其他文档,用户可以通过这些链接导航到相关的资源

工作流程

  1. 建立连接:通常通过 TCP 协议在客户端和服务器之间建立连接。HTTP/3 版本开始引入了基于 QUIC 协议的传输。

  2. 发送请求:客户端向服务器发送一个 HTTP 请求,这个请求包含了请求方法(如 GET、POST)、资源地址(URL)、协议版本、可选的请求头(如用户代理信息、接受的内容类型等)以及请求正文(主要用于 POST 请求)。

  3. 服务器响应:服务器处理请求后,返回一个 HTTP 响应。响应包含了状态码(如 200 表示成功,404 表示未找到),响应头(如内容类型、内容长度)和响应正文(请求的资源)。

  4. 关闭连接:在 HTTP/1.0 中,每个请求/响应之后都会关闭连接。而在 HTTP/1.1 及之后的版本中,默认采用持久连接,即在一定时间内保持连接打开,以便传输更多的请求和响应。

HTTP/1.0

  1. 无状态和无连接:每个请求都开启一个新的连接,并在传输完成后关闭。
  2. 不支持持久连接:导致每个HTTP请求都需要建立和关闭新的连接,增加了延迟和负载。
  3. 无主机名(Host header)支持:限制了虚拟主机的使用。
  4. 基础的缓存控制:较为原始的缓存机制。

HTTP/1.1

相比于 HTTP/1.0,HTTP/1.1 做出了重要改进:

  1. 持久连接:默认情况下支持持久连接(Connection: keep-alive),可以在一个TCP连接上发送多个HTTP请求,减少了连接和断开的频率。
  2. 流水线网络传输:允许在同一个TCP连接上连续发送请求,而不必等待前一个响应完成。
  3. 分块传输编码:允许服务器在最终内容大小未知时开始发送响应。
  4. 缓存控制增强:引入了更复杂的缓存控制机制。
  5. 主机名支持(Host header):允许在同一个物理服务器上托管多个域名。

HTTP/2.0

HTTP/2.0 相比于 HTTP/1.1 带来了更为深刻的改变:

  1. 二进制协议:与 HTTP/1.x 的文本协议不同,HTTP/2.0 使用二进制格式,提高了解析效率和性能。
  2. 多路复用:在单一连接上并行处理多个请求和响应,消除了 HTTP/1.x 中的队头阻塞问题。
  3. 头部压缩:通过 HPACK 压缩协议减小了头部大小,降低了传输延迟。
  4. 服务器推送:允许服务器未经客户端明确请求的情况下发送资源。
  5. 优先级和流控制:在一个连接中优先处理重要资源。
相关推荐
漫步人生走在路上3 小时前
外贸SEO中的品牌词与产品词策略:大卖家和小卖家的不同打法
大数据·javascript·网络·数据库·人工智能·搜索引擎
华允物联-HUAIOT3 小时前
DTU 和 LoRa 模块有什么区别?工业无线回传怎么选
网络·tcp/ip·udp
AI砖家4 小时前
验证码与接口防刷完整落地方案
网络·人工智能·安全验证
阿文和她的Key4 小时前
DeepInfer 与 TorchTPU 同日开源:供应商锁定的成本结构正在被重写
网络·人工智能·架构·开源
Raas1004 小时前
MemT-1.0 接入设计指南:硬件核算、三方案选型与写入触发点
大数据·网络·人工智能·机器学习·数据挖掘·ai agent
大泽九章5 小时前
HTTP协议安全入门:从请求走私到CRLF
网络协议·安全·http
JoyCong19985 小时前
参数测评:ToDesk个人版、团队版、企业版的设备数、并发通道与安全能力对比
运维·服务器·网络·安全·智能手机·远程工作
zxanz15 小时前
多域名、泛域名 SSL 怎么选?避开证书采购的溢价陷阱
服务器·网络协议·ssl
似是燕归来5 小时前
Rtthread OS 功能开发之 socket tcp协议程序开发
网络·网络协议·tcp/ip·rtthread
Brookty5 小时前
网络原理|第三阶段:MTU、TCP 分段、IPv4 分片与重组及路径 MTU 发现
网络·ip