0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

超干的干货来了!一文了解HTTP协议

亿佰特物联网应用专家 2023-08-04 08:24 次阅读

上期文章小编给大家介绍了一些关于MQTT协议的基础知识,今天我们来了解另一个应用层协议——HTTP协议。

什么是HTTP协议?

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

4665f3ae-325d-11ee-bbcf-dac502259ad0.png

HTTP协议基本特点:

(1)基于TCP协议,应用层协议

(2)传输一些HTML、CSS、JavaScript内容

(3)请求及响应

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

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


HTTP协议发展

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 」

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

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


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

「HTTP 2.0 」

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

468fc706-325d-11ee-bbcf-dac502259ad0.png

主要特点:

(1)HTTP/2 连接都是永久的,而且仅需要每个来源一个连接。

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

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

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


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可能会在未来几年内发生一些变化,但它的基础仍将牢牢地基于QUIC协议。

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

HTTP 3.0 进化发展的意义

HTTP 3.0与HTTP 1.x和HTTP 2.0中使用的传统方法有几个显著差异。


①网络协议:UDP 与 TCP

HTTP 3.0和旧版本(仅使用TCP)之间最明显的区别是HTTP 3.0完全基于QUIC,它利用UDP。UDP是一种用于快速通信的传输协议,通过该协议可以错误地传输数据。这主要用于视频传输,其中接收实时图像至关重要,并且视频帧损坏不是主要问题。

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

474a0666-325d-11ee-bbcf-dac502259ad0.png

②标头压缩:QPACK 与 HPACK

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

就像HTTP 2.0一样,这是由Google的带头推动的进步。很快HTTP 3.0将再次建立在这些成就之上。虽然HTTP 2.0确实为我们提供了多路复用,并减轻了行头阻塞,但它受到TCP的约束。HTTP 3.0通过基于无连接UDP协议的QUIC构建,连接的概念不具有TCP的限制,并且一个流的故障不必影响其余流。它重新定义了网络层的边界,依赖于较低级别的UDP协议,重新定义了“用户空间”中的握手,可靠性功能和安全功能,避免了升级互联网系统内核的需要。

47d40b72-325d-11ee-bbcf-dac502259ad0.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134405
  • Web
    Web
    +关注

    关注

    2

    文章

    1238

    浏览量

    68465
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82529
  • HTTP
    +关注

    关注

    0

    文章

    467

    浏览量

    30317
收藏 人收藏

    评论

    相关推荐

    电机干货了解电机的原理及分类

    了解电机的原理及分类 电机是传动及控制系统中的重要部分,目前电机应用的重点也从过去简单的传动向电机的速度、位置、转矩的精确控制转移; 电机为何能够转动?电机又有哪些分类?不同工作环境下需要选用
    发表于 03-12 09:35

    mqtt协议http协议区别

    的最大优点在于,用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。 HTTP协议(HyperText Transfer Protocol)是因特网上应用最为广泛的一种网络传输协议,所有
    的头像 发表于 01-19 15:56 1466次阅读

    如何理解HTTP协议是无状态的

    1、HTTP 协议与 TCP/IP 协议的关系 HTTP 的长连接和短连接本质上是 TCP 长连接和短连接。HTTP 属于应用层
    的头像 发表于 11-11 15:46 819次阅读
    如何理解<b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>是无状态的

    技术干货 | 了解3种静态电流的规格

    技术干货 | 了解3种静态电流的规格
    的头像 发表于 10-26 15:56 472次阅读
    技术<b class='flag-5'>干货</b> | <b class='flag-5'>了解</b>3种静态电流的规格

    23张图带你弄懂HTTP协议

    HTTP 协议发明到现在,经过了几次版本修改,分别是HTTP/0.9,HTTP/1.0,HTTP/1.1以及
    发表于 10-16 15:57 558次阅读
    23张图带你弄懂<b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>!

    MCU国产替代选型合集来了干货不容错过!

    MCU国产替代选型合集来了干货不容错过!
    的头像 发表于 09-19 18:01 2010次阅读
    MCU国产替代选型合集<b class='flag-5'>来了</b>,<b class='flag-5'>干货</b>不容错过!

    什么是WebSocket协议?

    主动给客户端发消息。而类似网页游戏这样的场景,是需要客户端和服务器之间互相主动发大量数据的。推荐阅读:《TCP/IP协议不止是两个协议!》《超干的干货来了!一文
    的头像 发表于 08-25 08:23 812次阅读
    什么是WebSocket<b class='flag-5'>协议</b>?

    为什么有了HTTP,还需要RPC协议

    为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC
    的头像 发表于 08-14 10:05 666次阅读
    为什么有了<b class='flag-5'>HTTP</b>,还需要RPC<b class='flag-5'>协议</b>?

    什么是HTTP协议?什么是RPC协议?二者如何选择使用?

    为什么有了HTTP,还需要RPC协议呢?在进行说明之前,首先我们需要了解什么是HTTP协议,什么是RPC
    的头像 发表于 08-11 09:25 1529次阅读
    什么是<b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>?什么是RPC<b class='flag-5'>协议</b>?二者如何选择使用?

    什么是HTTP协议HTTP协议的基本特点和发展历程

    上期文章小编给大家介绍了一些关于MQTT协议的基础知识,今天我们来了解另一个应用层协议——HTTP协议
    发表于 08-04 09:52 573次阅读
    什么是<b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>?<b class='flag-5'>HTTP</b><b class='flag-5'>协议</b>的基本特点和发展历程

    33.033 HTTP协议 初识HTTP协议

    编程HTTP
    充八万
    发布于 :2023年07月19日 14:28:59

    为什么HTTP3.0使用UDP协议

    HTTP2.0是2015年推出的,还是比较年轻的,其重要的二进制分帧协议、多路复用、头部压缩、服务端推送等重要优化使HTTP协议真正上了一个新台阶。 像谷歌这种重要的公司
    的头像 发表于 05-18 17:08 481次阅读
    为什么<b class='flag-5'>HTTP</b>3.0使用UDP<b class='flag-5'>协议</b>

    虹科干货 | MQTT 5协议中的基础更改(二)

    IIoTMQTT5协议中的基础更改(二)上期文章中给大家介绍了MQTT规范版本5中基础更改的信息和CONNACK返回码,本篇文章我们继续介绍MQTT5协议中的基础更改中其他新功能的细节描述。虹科干货
    的头像 发表于 05-15 09:40 378次阅读
    虹科<b class='flag-5'>干货</b> | MQTT 5<b class='flag-5'>协议</b>中的基础更改(二)

    HTTP协议的特点

    HTTP协议即超文本传输协议,是用于从互联网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP协议通信
    发表于 05-06 16:28 556次阅读

    什么是HTTP协议

    超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCI
    发表于 05-06 15:43 804次阅读