HTTP是咱们前端赖以存在的基础,HTTP协议一直在变化,咱们又是否真的了解HTTP协议呢?下面一块儿学习HTTP协议的变化,了解HTTP协议不一样版本改进的地方。前端
HTTP/0.9是最先的版本,确认了HTTP基于TCP协议。这个版本只支持GET一个方法,且服务器只能返回HTML格式的字符串。缓存
HTTP-1.0新增了许多内容,包括支持不一样类型的响应格式,例如图像、视频等等。新增了HEAD和POST请求方法,补充了响应状态码,权限,缓存等功能。安全
HTTP/1.1引入了持久连接以及管道机制。服务器
HTTP/2.0引入了二进制,多路复用,服务器推送(socket),数据流和头信息压缩优化。socket
HTTP/3.0听说引入了新的协议(QUIC),该协议解决了之前TCP协议所存在的问题,而且极大的提高了性能与安全性。性能
从0.9到1.0版本,HTTP协议的变化极大丰富了前端页面能够交互的内容,在最先的时候可能咱们所看到的只有一个纯文本的页面,可是到了1.0版本,新增了图像、音频等新的响应内容,前端可交互的内容变得更加丰富了。学习
在1.0版本,由于每一个TCP只能发送一个请求,发送数据以后链接就会关闭;每次发送新的请求就须要创建一个新的链接,而创建一个新的链接成本很是高昂,由此产生了链接没法复用的问题,存在性能问题。1.1版本引入的持久链接容许一个请求在数据返回以后保留一段时间,和管道机制容许咱们同时发送多个请求。优化
在1.1版本引入的管道机制容许咱们同时发送多个请求,例如同时发送A和B请求,可是服务器仍是会按照顺序先处理A请求,等A响应后再处理B请求,由此产生了咱们所说的线头阻塞(Head-of-line blocking)问题。若是第一个响应处理很是久,则会致使后面的请求必须等待前面的请求处理完以后才能获得响应。视频
因此在2.0版本引入的多路复用和数据流容许咱们不会受到前面处理很是耗时的请求影响,能够分优先级处理响应。同时引入了服务器推送(socket)增长了客户端与服务器双向通讯的能力。字符串