QUIC的前世今生——HTTP演变史

1.HTTP演变史

在我们更深入地研究 HTTP/3之前,让我们快速了解一下 HTTP 多年来的演变,以便更好地理解为什么需要HTTP/3:
在这里插入图片描述
1.1 HTTP 0.9:只有一行的协议
Tim Berners-Lee 最初的HTTP 建议是以简洁为出发点设计的,目的是推动他的另一个刚刚萌芽的思想——万维网的应用。1991年,是一个单纯的年代,网上只有文字,看不了图。

telnet example.com 80
GET /
<html>...
?

请求只有一行,包括GET 方法和要请求的文档的路径。响应是一个超文本文档,没有首部,也没有其他元数据,只有HTML。HTTP 0.9 的功能:

◎客户端 / 服务器、请求 / 响应协议;

◎ASCII 协议,运行于 TCP/IP 链接之上;

◎设计用来传输超文本文档(HTML);

◎服务器与客户端之间的连接在每次请求之后都会关闭。

1.2 HTTP 1.0:迅速发展及参考性RFC
1991 年到1995 年,HTML 规范和一种新型的名叫“Web 浏览器”的软件都获得了快速发展。于是,1996 年,HTTP 工作组发布了RFC 1945,在该文档中记录了许多HTTP/1.0实现的通用方法,于是HTTP/1.0就诞生了。HTTP 1.0 的请求对我们而言应该是非常熟悉的:

telnet example.com 80
GET / HTTP/1.0
User-Agent: HappyBrowser
Accept: */*

HTTP/1.0 200 OK
Content-Type: text/html
Server: HappyServer

<h1>It works</h1>
?

请求行中包含HTTP 版本号,随后是请求首部;响应状态,后跟响应首部。该协议的关键变化:

◎请求可以由于多行首部字段构成;

◎响应对象前面添加了一个响应状态行;

◎响应对象也有自己的由换行符分隔的首部 字段;

◎响应对象不局限于超文本;

◎服务器与客户端之间的连接在每次请求之后都会关闭。

1.3 HTTP 1.1:互联网标准
在1997年1月,发布了HTTP/1.1的第一个正式标准 RFC2068[2]。然后,在两年半之后的1999年6月,许多改进和更新被纳入该标准,并以 RFC 2616[3]的形式发布。

GET / HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Host: www.example.club
Pragma: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) C
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值