当前位置: 首页 >应用方案 >技术应用 >

HTTP 1.1/2.0/3.0传输协议详解

HTTP 1.1/2.0/3.0的「特点、工作方式、区别、发展的意义」

通过这篇文章你可以了解到:

1.什么是HTTP协议

2.HTTP 1.1/2.0/3.0 的发展变更

3.HTTP 1.1/2.0/3.0 的主要区别

4.HTTP 3.0 进化发展的意义

http传输协议

一、什么是HTTP协议?

HTTP( Hyper Text Transfer Protocol 超文本传输协议),是一个用于传输超文本文档的应用层协议,基于TCP协议,它是为Web浏览器与Web服务器之间的通信而设计的。

http超文本传输协议

基本特点:

1.基于TCP协议,应用层协议

2.传输一些HTML、CSS、JavaScript内容

3.请求及响应

4.简单可扩展:语义简单且可在请求头自定义内容

5.无状态:请求之间是相互孤立的

HTTP传输协议到目前为止所有的版本可以分为HTTP 0.9、HTTP 1.0、HTTP 1.1、HTTP 2.0、HTTP 3.0,其中普遍应用的是HTTP 1.1版本,正在推进HTTP 2.0版本,以及未来的HTTP 3.0版本,今天主要介绍这三个版本。

二、HTTP 1.1、2.0、3.0之间的发展变更

①HTTP 1.1协议

HTTP代表超文本传输协议,这是一种自1989年推出以来用于通过万维网进行通信的应用程序协议。HTTP是互联网上的计算机和服务器用来请求和发送信息的一种方法。

HTTP 1.1是标准化的协议,HTTP 1.1消除了大量歧义内容并引入了多项改进。

http协议请求

HTTP 1.1工作方式:

HTTP传输协议利用一些简单的方法在计算机之间发送和接收信息。两种最常见的方法是:(1)获取;(2)发布。当客户端计算机与服务器通信时,它会发送这些命令之一来指示服务器下一步该做什么。作为响应,服务器通常会将资源(如HTML网页)返回给客户端计算机。

获取示例:

让我们把它放到一个可能发生的示例HTTP事务中。

http传输协议示例

在此示例中,客户端计算机使用GET 方法从地址为“www.example.co.uk”的主机服务器请求名为“index.html”的 HTML 文档,该文档采用 HTTP/1.1 协议。作为响应,Web 服务器将“index.html”文档连同任何相关的样式表、图像或其他资源一起返回到客户端计算机。

但是,这些资源不会在一个事务中全部返回- 请求和响应将来回传递,直到所有相关数据都已传输并且客户端可以在其浏览器上显示网页。

开机自检示例

下面的另一个示例是如何执行具有POST 命令的典型 HTTP 事务:

http协议开机自检

在此示例中,客户端计算机使用POST 方法将数据发送到指定的服务器。这里发送的数据是“field1=value1&field2=value2”。第一行定义正在使用的方法、要将数据发送到的文件以及 HTTP 版本。“host”行定义了在发送指定数据之前,客户端计算机应连接到的位置。

②HTTP 2.0协议:

定义:HTTP  2.0是HTTP协议的第一个主要修订版,旨在通过实施各种优化技术来减少网页加载延迟。HTTP 2.0传输协议 由IETF(互联网工程任务组)于2015年5月发布,旨在成为与所有可用 Web 浏览器兼容的标准通信方法。

http2.0传输协议

HTTP 2.0协议工作方式:

虽然HTTP  1.1和HTTP 2.0共享语义以促进两个协议之间的通信,但它们用于传递数据的方法可能会有很大差异。

HTTP 2.0协议特点:

1.HTTP 2.0协议连接都是永久的,而且仅需要每个来源一个连接。

2.流控制:阻止发送方向接收方(服务器)发送大量数据的机制。

3.服务器可主动推送信息。

HTTP 2.0 和 HTTP 1.x 传输协议之间的主要区别如下:

1)HTTP 2.0 将请求和响应消息编码为二进制,而不是传输使用 HTTP 1.1 看到的普通纯文本消息。

2)HTTP 2.0是完全多路复用和并发的,这意味着与HTTP 1.x中的有限请求相比,它可以向网站发出更多的请求。

3)利用网站资产的流优先级。

4)标头压缩用于减少开销处理。

③HTTP 3.0协议:

HTTP 3.0是2020年8月发布的基于QUIC网络协议的新版本HTTP传输协议。HTTP 3.0协议作为超文本传输协议(HTTP)的第三个版本,以前称为HTTP-over-QUIC。QUIC(Quick UDP Internet Connections)最初由Google开发,是HTTP 2.0协议的继任者。谷歌和Facebook等公司已经在使用QUIC来加速网络。

HTTP 3.0工作方式:

作为一个非常新的协议,HTTP 3.0可能会在未来几年内发生一些变化,但它的基础仍将牢牢地基于QUIC协议。

QUIC(快速UDP互联网连接)是一种新的网络传输层协议,与TCP相比,旨在显著减少延迟并提高效率。从本质上讲,连接建立得更快 - 特别是当网络条件不是最佳时。由于QUIC减少了TCP慢启动问题,视频流的速度可能会显著提高,尤其是在UHD及以上版本中。此外,在移动网络和WiFi网络之间移动时,出于同样的原因,HTTP 3.0也可以提供速度改进。

三、HTTP 3.0协议与 HTTP 1.0和HTTP 2.0协议有何不同?

HTTP 3.0与HTTP 1.0传输协议和2.0传输协议中使用的传统方法有几个显著差异。让我们来看看其中的一些关键区别。

①网络协议 – UDP 与 TCP:

HTTP 3.0和旧版本(仅使用TCP)之间最明显的区别是HTTP 3.0完全基于QUIC,它利用UDP。

UDP是一种用于快速通信的传输协议,通过该协议可以错误地传输数据。这主要用于视频传输,其中接收实时图像至关重要,并且视频帧损坏不是主要问题。

使用新的QUIC协议,Web服务器现在能够发送并行请求/响应。这意味着,如果一个请求或响应遇到数据包丢失,则其他请求或响应不会因此而停止。

UDP与TCP传输协议

标头压缩– QPACK 与 HPACK:

HTTP 3.0使用QPACK,这是一种压缩格式,用于表示HTTP通过QUIC在HTTP传输协议中使用的HTTP标头。HTTP 3.0使用QPACK,这是一种压缩格式,用于表示HTTP 通过QUIC在HTTP中使用的HTTP标头。

四、HTTP 3.0进化的发展意义

就像HTTP 2.0一样,这是由Google的带头推动的进步。断续器或者很快,HTTP 3.0协议将再次建立在这些成就之上。虽然HTTP 2.0传输协议确实为我们提供了多路复用,并减轻了行头阻塞,但它受到TCP的约束。

您可以将单个TCP连接用于多路复用在一起的多个流来传输数据,但是当其中一个流遭受数据包丢失时,整个连接(及其所有流)都会受到约束,也就是说,直到TCP完成其任务(重新传输丢失的数据包)。

这意味着,在目标节点的缓冲区中,所有数据包(即使它们已经传输并正在等待)都会被阻止,直到重新传输丢失的数据包。QUIC不受此限制。通过基于无连接 UDP 协议的 QUIC 构建,连接的概念不具有 TCP 的限制,并且一个流的故障不必影响其余流。QUIC(Quick UDP Internet Connections)于2012年由Google首次部署。

它重新定义了网络层的边界,依赖于较低级别的UDP协议,重新定义了“用户空间”中的握手,可靠性功能和安全功能,避免了升级互联网系统内核的需要。

http 3.0传输协议

亿佰特人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网进行了解,还有客服小姐姐在线答疑哦!

相关文章推荐:MQTT通信协议报文详解

HTTPS如何保证数据安全性(一)

https://www.wjx.cn/jq/84863372.aspx