首页 » 建站资讯 » HTTP / 2协议简介

HTTP / 2协议简介

WPJAM TOC

HTTP/2是要在现代Web中引入的最重要的里程碑之一。本文重点介绍HTTP的当前状态,并介绍HTTP/2的核心优点(以及一些非技术概念)。HTTP代表超文本传输​​协议,该协议由Tim Berners Lee在1991年创建。Tim是我们要感谢万维网的人。HTTP是Internet上最普遍和广泛采用的应用程序协议之一,但这不是唯一的。

互联网实际上是由四个层次的协议层组成的。每层都包含许多协议,并负责核心功能。

Internet协议(IP)套件中有四个层:

  • 应用层
  • 传输层
  • 互联网层
  • 链接层
Internet协议(IP)套件中有四个层

Internet协议(IP)套件中有四个层

最顶层称为应用程序层,它为Internet中的所有应用程序提供服务。

  • 查看网页是Internet中的一个应用程序-HTTP协议使之成为可能。
  • 电子邮件是Internet上的另一种应用程序-通过POP或IMAP协议成为可能。

HTTP/2的诞生

HTTP是客户端和服务器之间的通用语言,可启用现代Web。从简单的一个关键字和文档路径开始,它已成为不只是浏览器的选择协议,而且几乎成为所有与Internet连接的软件和硬件应用程序的选择协议。这就引出了一个问题– 我们多久更新一次此关键软件? 好吧,事实证明–并不经常。

实际上,上一次HTTP协议的更新是在1997年,距离第一款iPhone推出还有十年之久!那是HTTP版本1.1,20年后,它仍然是当今使用最广泛的HTTP版本!互联网上发生的一切-从流媒体猫视频到国际空间站提供的实时视频聊天,以及数以万亿计的在线交易-都发生在过去二十多年没有更新的技术上。 多年来,我们在为Internet创建新应用程序方面取得了巨大进步。但是,我们通过根据HTTP/1.1的局限性创建变通办法来完成所有这些工作

我的意思不是说HTTP/1.1都是不好的。但是它可以确保使用更新。这就是为什么Internet工程任务组在2015年加倍努力为HTTP创建更好的协议的原因。结果是一个新协议可以无缝地运行在HTTP/1.1上的所有内容,同时对基础技术进行了一些重大改进。这个新协议称为HTTP/2。

HTTP/2发生了什么变化?

实际上有很多事情。但是我们不会在这里涵盖所有这些内容。可以肯定的是,你可能会感到无聊,甚至可以确定,我将无法以非怪异的方式来解释这些内容。但是,当谈到HTTP/2时,这里有一些关键点。

多路复用

在HTTP/1.1中,服务器和客户端需要建立单独的连接来请求资源。让我用UpWork的这张精美插图来解释一下:

开启HTTP/2可以减少请求次数

开启HTTP/2可以减少请求次数

网站由HTML,CSS,JavaScript,图像和其他文件组成。这些文件统称为资源。在此示例中,有一个网站由三个资源组成-JavaScript文件,CSS文件和图像文件。

我们看到在HTTP/1.1中,浏览器需要与服务器的三个TCP连接才能请求这些资源。为什么?因为在HTTP/1.1中,每个连接只能请求一个请求。大量的连接通常可以最恰当地描述为资源“交通拥堵”,最终导致网站体验缓慢。

HTTP/2支持多路复用

复用是一项技术,允许服务器通过单个连接发送多个文件。结果,当同一网站使用HTTP/2时,所有这三个资源都可以通过单个连接发送。因此,加载时间和网络资源消耗将大大减少。简单来说,您就能事半功倍。因此,HTTP/2是一种(可能)加快网站速度的好方法。

其他改进

通常,HTTP/1.1限制服务器(域)和客户端之间打开连接的最大数量。大多数网站有多个资源可以并行加载。为了使网站加载速度更快,网站开始从多个子域提供资源。这称为域分片。现在有了HTTP/2,就不需要域共享了。不是因为HTTP/2并未限制打开连接的最大数量。但是因为HTTP/2支持多路复用。所有资源都可以在一个连接中直接发送!

支持二进制协议

HTTP/2支持从文本协议到二进制协议的转换。这使服务器和客户端可以用0和1而不是实际的文本进行交谈–从而大大减少了完成相同请求-响应周期所需的时间和精力。

HTTP/2服务器推送

这个功能可能会有点复杂,但是我会尽量简化。在传统的HTTP/1.1方案中,服务器(或网站)仅在客户端请求资源时才将资源发送到客户端(浏览器)。这是典型的请求-响应方案。但是,HTTP/2引入了服务器推送的概念,其中服务器第一次可以向客户端发送资源(或信息),而无需客户端明确请求资源。此机制节省了请求响应往返,并减少了网络延迟。

标头压缩

在客户端和服务器之间交换数据时,HTTP/2使用称为HPACK头压缩的名称。在我们探讨这为何如此重要之前,是时候进一步了解协议了。任何协议(包括HTTP)中的数据单元都由三个核心组件组成:标头,有效负载和页脚。

  • 标头:标头包含有关数据单元的信息
  • 有效负载:这是从服务器传输到客户端的实际数据
  • 页脚:这是一种检查清单,可确保成功交付数据单元而不会出现任何错误

标头压缩是一种非常简单的方法-服务器在将标头信息传输到客户端之前先对其进行压缩。客户端在接收到数据单元(或数据包)后,将其解压缩,并将其显示(或使用)给用户(或供用户使用)。如今,随着媒体丰富的网站(例如Netflix或《纽约时报》)成为常态,HTTP/2的HPACK标头压缩可以在将数据从服务器传输到客户端时节省大量带宽。

TLS的改进

TLS代表传输层安全性,它是对服务器和客户端之间的连接进行加密的技术。我们知道有HTTPS。该技术有助于防止黑客在在线交易期间窃取我们的信用卡信息和其他个人数据。HTTP/2可以与现有TLS技术完美配合,并具有大量高级功能,例如更少的TLS握手,客户端和服务器端的资源消耗低以及在重用现有Web会话时提高了功能,同时消除了与HTTP/1相关的某些漏洞。

Aini99

Yahoooooooo!

相关推荐

微信扫一扫,分享到朋友圈

HTTP / 2协议简介
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close