云原生知识充电——HTTP进阶——多版本HTTP分析(附实验验证)

 “ 文章介绍了HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2.0、HTTP/3.0各自的特点,并通过浏览器开发者工具和响应辅助网站对比HTTP/1.1与HTTP//2.0。”


1.HTTP/0.9(1991)

  • HTTP/0.9是第一个版本的HTTP协议,只允许客户端发送GET请求,不支持请求头,由于没有协议头,所以HTTP/0.9协议只支持纯文本内容。
  • HTTP/0.9是典型的无状态协议,每次事务独立进行处理,事务结束时释放连接。一次HTTP/0.9的传输首先要建立一个由客户端到web服务器的TCP连接,由客户端发起一个请求,服务器接收请求信息之后,读取对应的 HTML 文件,并将数据以 ASCII 字符流返回给客户端。
  • 特点:
    • 只允许GET请求
    • 只有一个请求行(没有请求头和请求体)
    • 只支持纯文本的内容
    • 服务器只需要返回数据(没有返回头信息)
    • 返回的文件内容是以 ASCII 字符流来传输(因为都是 HTML 格式的文件,所以使用 ASCII 字节码来传输是最合适的。)


2.HTTP/1.0(1996)

  • 浏览器需要展示多种类型的文件成为HTTP/1.0 的一个核心诉求,并且编码方式不局限于ASCII 编码。

  • HTTP/1.0 引入了请求头和响应头,都是以为 Key-Value 形式保存的,在 HTTP 发送请求时,会带上请求头信息,服务器返会先返回响应头信息再返回数据。

  • 特点:

    • 在 HTTP/1.0 中提供了 Cache 机制,用来缓存已经下载过的数据,减轻服务器的压力;

    • 请求头中加入了用户代理,区分客户端Window或者Mac用户的数量;

    • 引入状态码,并通过响应行的方式来通知浏览器。


3.HTTP/1.1(1997)

  • HTTP 数据和断开 TCP 连接三个阶段,随着浏览器普及,单个页面中的图片文件越来越多。

  • HTTP/1.1 中增加了持久连接的方法,它的特点是在一个 TCP 连接上可以传输多个 HTTP 请求,只要浏览器或者服务器没有明确断开连接,那么该 TCP 连接会一直保持。如果你不想要采用持久连接,可以在 HTTP 请求头中加上Connection: close。

  • 特点:

    • 队头阻塞(head of line blocking)——持久连接减少 TCP 的建立和断开次数,但它需要等待前面的请求返回之后,才能进行下一次请求,如果

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是羽十八ya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值