HTTP协议从0.9-2.0的变化

栏目: 后端 · 前端 · 发布时间: 5年前

内容简介:HTTP/0.9是最早的版本,确认了HTTP基于TCP协议。这个版本只支持GET一个方法,且服务器只能返回HTML格式的字符串。HTTP-1.0新增了许多内容,包括支持不同类型的响应格式,例如图像、视频等等。新增了HEAD和POST请求方法,补充了响应状态码,权限,缓存等功能。HTTP/1.1引入了持久链接以及管道机制。

HTTP/0.9是最早的版本,确认了HTTP基于TCP协议。这个版本只支持GET一个方法,且服务器只能返回HTML格式的字符串。

HTTP/1.0

HTTP-1.0新增了许多内容,包括支持不同类型的响应格式,例如图像、视频等等。新增了HEAD和POST请求方法,补充了响应状态码,权限,缓存等功能。

HTTP/1.1

HTTP/1.1引入了持久链接以及管道机制。

HTTP/2.0

HTTP/2.0引入了二进制,多路复用,服务器推送(socket),数据流和头信息压缩优化。

HTTP/3.0

HTTP/3.0据说引入了新的协议(QUIC),该协议解决了以前TCP协议所存在的问题,并且极大的提升了性能与安全性。

不同版本解决的问题

0.9 --> 1.0

从0.9到1.0版本,HTTP协议的变化极大丰富了前端页面可以交互的内容,在最早的时候可能我们所看到的只有一个纯文本的页面,但是到了1.0版本,新增了图像、音频等新的响应内容,前端可交互的内容变得更加丰富了。

1.0 --> 1.1

在1.0版本,因为每个TCP只能发送一个请求,发送数据之后连接就会关闭;每次发送新的请求就需要建立一个新的连接,而建立一个新的连接成本非常高昂,由此产生了连接无法复用的问题,存在性能问题。1.1版本引入的持久连接允许一个请求在数据返回之后保留一段时间,和管道机制允许我们同时发送多个请求。

1.1 --> 2.0

在1.1版本引入的管道机制允许我们同时发送多个请求,例如同时发送A和B请求,但是服务器还是会按照顺序先处理A请求,等A响应后再处理B请求,由此产生了我们所说的线头阻塞(Head-of-line blocking)问题。如果第一个响应处理非常久,则会导致后面的请求必须等待前面的请求处理完之后才能得到响应。

所以在2.0版本引入的多路复用和数据流允许我们不会受到前面处理非常耗时的请求影响,可以分优先级处理响应。同时引入了服务器推送(socket)增加了客户端与服务器双向通信的能力。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

视觉链

视觉链

吴佳敏 / 机械工业出版社 / 59.00

这是一部能帮助视觉设计师开悟的著作,由携程网UED视觉高级经理撰写,是她9年互联网视觉设计经验的总结和奉献。 全书从设计师的专业能力、设计方向、设计技巧、设计理念、设计规范5个维度展开,其中前4项可以构成一个完整的视觉设计工作链,在这个链条上每一环都是后面一环的支撑,缺一不可。但是在这个链条之上必须配以设计规范,才能让这个链条更加稳固。因此本章主要分为5章: 第1章:首先介绍了互联网产......一起来看看 《视觉链》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具