资讯专栏INFORMATION COLUMN

http1.0 http1.1 http2.0特性及区别

inapt / 1535人阅读

摘要:原文地址特性无状态服务器不跟踪不记录请求过的状态无连接浏览器每次请求都需要建立连接无状态对于无状态的特性可以借助机制来做身份认证和状态记录无连接无连接导致的性能缺陷有两种无法复用连接每次发送请求,都需要进行一次连接即次握手次挥手,使得网络的

原文地址

https://my729.github.io/blog/internetwork/http%E7%89%88%E6%9C%AC%E5%8C%BA%E5%88%AB.html

http1.0特性

无状态:服务器不跟踪不记录请求过的状态

无连接:浏览器每次请求都需要建立tcp连接

无状态

对于无状态的特性可以借助cookie/session机制来做身份认证和状态记录

无连接

无连接导致的性能缺陷有两种:

1. 无法复用连接
每次发送请求,都需要进行一次tcp连接(即3次握手4次挥手),使得网络的利用率非常低

2. 队头阻塞
http1.0规定在前一个请求响应到达之后下一个请求才能发送,如果前一个阻塞,后面的请求也给阻塞的

http1.1特性

为了解决http1.0的性能缺陷,http1.1出现了

http1.1特性:

长连接:新增Connection字段,可以设置keep-alive值保持连接不断开

管道化:基于上面长连接的基础,管道化可以不等第一个请求响应继续发送后面的请求,但响应的顺序还是按照请求的顺序返回

缓存处理:新增字段cache-control

断点传输

长连接

http1.1默认保持长连接,数据传输完成保持tcp连接不断开,继续用这个通道传输数据

管道化

基于长连接的基础,我们先看没有管道化请求响应:

tcp没有断开,用的同一个通道

请求1 > 响应1 --> 请求2 > 响应2 --> 请求3 > 响应3

管道化的请求响应:

请求1 --> 请求2 --> 请求3 > 响应1 --> 响应2 --> 响应3

即使服务器先准备好响应2,也是按照请求顺序先返回响应1

虽然管道化,可以一次发送多个请求,但是响应仍是顺序返回,仍然无法解决队头阻塞的问题

缓存处理

当浏览器请求资源时,先看是否有缓存的资源,如果有缓存,直接取,不会再发请求,如果没有缓存,则发送请求

通过设置字段cache-control来控制

断点传输

在上传/下载资源时,如果资源过大,将其分割为多个部分,分别上传/下载,如果遇到网络故障,可以从已经上传/下载好的地方继续请求,不用从头开始,提高效率

在 Header 里两个参数实现的,客户端发请求时对应的是 Range 服务器端响应时对应的是 Content-Range

http2.0特性

二进制分帧

多路复用: 在共享TCP链接的基础上同时发送请求和响应

头部压缩

服务器推送:服务器可以额外的向客户端推送资源,而无需客户端明确的请求

二进制分帧

将所有传输的信息分割为更小的消息和帧,并对它们采用二进制格式的编码

多路复用

基于二进制分帧,在同一域名下所有访问都是从同一个tcp连接中走,http消息被分解为独立的帧,乱序发送,服务端根据标识符和首部将消息重新组装起来

区别

http1.0 到http1.1的主要区别,就是从无连接到长连接

http2.0对比1.X版本主要区别就是多路复用

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/11682.html

相关文章

  • HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比

    摘要:也就是说,不允许同时存在两个并行的响应。每个数据流以消息的形式发送,而消息由一或多个帧组成。而这个强大的功能则是基于二进制分帧的特性。 本篇是对HTTP不同版本主要特性的一个概述和总结。 HTTP1.0 早先1.0的HTTP版本,是一种无状态、无连接的应用层协议。 HTTP1.0规定浏览器和服务器保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器处理完成后立即断开...

    why_rookie 评论0 收藏0
  • HTTP2.0的那些事

    摘要:的有可能会被中间代理住,要处理好业务数据的过期机制。解决以下简称为是之前网络体验的最大祸源。,,,及所有后续共用该连接的请求节约了等待的时间,极大的降低了整体延迟。绝大部分的代理服务器不支持。和不支持的老服务器协商有问题。 在我们所处的互联网世界中,HTTP协议算得上是使用最广泛的网络协议。最近http2.0的诞生使得它再次互联网技术圈关注的焦点。任何事物的消退和新生都有其背后推动的力...

    BenCHou 评论0 收藏0
  • HTTP2.0的那些事

    摘要:的有可能会被中间代理住,要处理好业务数据的过期机制。解决以下简称为是之前网络体验的最大祸源。,,,及所有后续共用该连接的请求节约了等待的时间,极大的降低了整体延迟。绝大部分的代理服务器不支持。和不支持的老服务器协商有问题。 在我们所处的互联网世界中,HTTP协议算得上是使用最广泛的网络协议。最近http2.0的诞生使得它再次互联网技术圈关注的焦点。任何事物的消退和新生都有其背后推动的力...

    siberiawolf 评论0 收藏0
  • 【快速入门系列】一篇文章让你入门HTTP2.0

    引言 秋招来临,在面试过程中不仅会问到前端知识、算法问题,网络相关的内容也会多少涉及,被问的最多的就是你了解HTTP2.0吗?由于这个问题并不能很完美的回答出来,因此特地查阅了相关资料、博客,最终整理出一份通俗易懂的HTTP2.0入门文章,也算是学习笔记,希望能给看到该文章的你带来一些收获。 什么是HTTP2.0 想要了解一个事物,首先就要知道它是什么。 简单来说,HTTP/2(超文本传输协议第2...

    banana_pi 评论0 收藏0
  • 聊一聊 http2.0

    摘要:有了多路复用之后,在同一个交易渠道上,能够同时完成客户所有订单货物的采购和交付,客户端只要在每个订单上备注好,货物拆分发货,乱序到达之后按照重新组装即可,不会因为某个包裹的延误导致整体配送进度的推迟。 1。 我们认识http 协议,从最初的,客户端与服务器进行通讯,基于连接发生的请求与响应 showImg(https://segmentfault.com/img/bVbdAeo?w=6...

    ymyang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<