网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

HTTP/2与HTTP/1.1之间的区别

更新时间:2026年03月27日   作者:spoto   标签(Tag):

HTTP指的是超文本传输协议,它用于客户端-服务器之间的通信。用户通过HTTP向服务器发送请求,而服务器则向用户返回响应。HTTP的发展经历了多个阶段,但我们主要关注的是HTTP/1.1版本。HTTP/1.1版本是在1997年推出的,而新的版本则是HTTP/2,该版本是在2015年才被推出的。

HTTP/1.1:为了更好地理解这一过程,我们假设这样一个情况:您向服务器请求 geeksforgeeks.html 页面,而服务器则将该页面作为资源返回给您。 在发送请求和响应之前,客户端与服务器之间会建立一次TCP连接。 再次,你向服务器请求了图片img.jpg,而服务器则返回了图片img.jpg作为回应。 在第一次请求之后,这种连接并没有丢失。因为我们添加了“keep-alive”头信息,而这一头信息实际上是请求的一部分。因此,服务器和客户端之间仍然保持着连接状态。 存在一种持续的连接方式,这意味着多个请求和响应可以合并在一个连接中处理。 这些就是导致HTTP/2诞生的缺陷:第一个问题是,HTTP/1.1要求所有的请求和响应都以纯文本的形式进行传输。 第二种情况是“头部阻塞”,在这种情况下,TCP连接会阻塞所有其他请求,直到收到响应为止。 与头文件相关的所有信息,在每次请求中都会重复出现。

HTTP/2:HTTP/2是在SPDY协议的基础上开发的。HTTP/2采用二进制帧结构来传输数据,而不是以文本形式进行传输。它支持完全的多路复用技术,即一个TCP连接可以同时处理多个请求。HTTP/2还使用了HPACK技术,该技术可以将头部数据分离出来进行压缩。服务器可以通过PUSH帧的方式,在不需要客户端请求的情况下,直接发送CSS和JS等文件。

HTTP/1.1与HTTP/2之间的区别如下:

HTTP/1.1

HTTP/2

它适用于文本格式的处理。它使用的是二进制协议。
存在一种“头节点阻塞”的情况,即所有位于该节点之后的请求都会被阻塞,直到该节点获得足够的资源为止。它支持多路复用功能,因此,对于多个请求来说,只需要一个TCP连接即可。
它使用了“请求资源内联”技术,从而能够获取多页内容。它采用服务器端的PUSH框架来处理多个页面之间的交互。
它能够自行压缩数据。它使用了HPACK来进行数据压缩处理。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料