内容简介: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)增加了客户端与服务器双向通信的能力。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 记一次ajax的JSESSIONID 变化解决、非跨域变化
- ReactNative字体大小不随系统字体大小变化而变化
- 三月新变化
- 2019 年总结:拥抱变化
- InnoDB mutex 变化历程
- 变化莫测的mysqldump
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python Algorithms
Magnus Lie Hetland / Apress / 2010-11-24 / USD 49.99
Python Algorithms explains the Python approach to algorithm analysis and design. Written by Magnus Lie Hetland, author of Beginning Python, this book is sharply focused on classical algorithms, but it......一起来看看 《Python Algorithms》 这本书的介绍吧!