轻松理解网络协议——HTTP 和 HTTPS
介绍
谷歌宣布,使用 SSL 证书/HTTPS 协议的网站将在搜索引擎结果中优先显示。我将尝试介绍 HTTP 和 HTTPS 协议的基础知识。
在深入理解 HTTP 和 HTTPS 协议之前,让我们先来了解一下“协议”一词的含义。
什么是协议?
协议是一套用于特定目的的规则。在当前语境下,当我们谈论协议时,它指的是沟通——我们彼此交流的方式。例如,新闻播音员用英语播报,因为你懂英语,所以你能听懂。英语就是协议。
一旦新闻播音员开始使用你听不懂的语言,协议就失去了意义。因此,我们需要双方同意一套沟通规则,沟通才能进行。在这种情况下,协议的作用就在于沟通。
现在,我们来谈谈互联网,特别是网络通信,其中使用了多种协议。对于终端用户而言,最重要且最常用的协议是HTTP和HTTPS。虽然还有许多其他协议,但HTTP和HTTPS协议能够满足绝大多数用户的需求。
什么是HTTP?
HTTP 是超文本传输协议。简单来说,它定义了发送和接收文本消息的规则。众所周知,计算机使用 1 和 0 组成的语言,即二进制语言。因此,任何一组 1 和 0 都可能构成某种东西,它可以是一个单词。
假设我想输入“a”。如果 0 代表“a”,1 代表“b”,01 代表“c”,那么我可以推断,0 和 1 的组合也可以构成一个单词。在这种情况下,文本已经构建完成,并通过网络传输。计算机支持多种语言——纯二进制、文本以及其他一些格式,例如字节码。这里传输的是文本。我强调“文本”,是因为这段文本会被浏览器解析,一旦浏览器解析,它就变成了超文本,而传输这段文本的协议被称为超文本传输协议——HTTP。
使用 HTTP 协议,您当然可以传输图像、文本甚至声音,但不能传输视频。
什么是HTTPS?
超文本传输安全协议 (HTTPS) 是 HTTP 的安全版本,HTTP 是浏览器与您连接的网站之间传输数据的协议。HTTPS 末尾的“S”代表“安全”。这意味着浏览器与网站之间的所有通信都经过加密。HTTPS 通常用于保护高度机密的在线交易,例如网上银行和网上购物订单。
HTTPS的重要性是什么?
我们已经达成共识,传输的是从一点到另一点的文本。要理解HTTPS协议的重要性,我们首先需要了解Wi-Fi路由器的工作原理。假设你在机场连接到第三方Wi-Fi网络。当你使用HTTP协议进行通信时,文本实际上是通过他们的路由器传输的。如果我使用低端路由器,我可以轻松地查看并读取传输的文本。其中可能包含我可以用来登录你的银行网站并进行欺诈交易的密码!关键在于——这从根本上来说是不安全的。这就是所谓的中间人攻击。
这就是为什么即使 HTTP 似乎足够,我们仍然需要 https 的原因。
为了保护我们的数据免受此类攻击,我们需要对数据进行加密。
事实上,为了给用户提供更高级的安全连接,这家搜索引擎巨头在 2014 年宣布将 HTTPS 作为排名信号。
加密和加密级别
简单来说,加密就是隐藏信息。加密的方法有很多种。你肯定听说过 128 位加密 HTTPS 和 64 位加密 HTTPS。128 位加密是一种高级加密技术,很难解密(解码)。在使用 HTTPS 时,即使数据通过网络传输,中间人也可能知道传输的内容,但由于数据已被加密,他们无法解读其含义。只有浏览器才能解密并显示数据,服务器才能解密并用于交易。
当您请求在浏览器中打开网站时,这是如何发生的?
为了理解这一点,我们假设有一台服务器,它位于某个地方,负责处理所有针对某个域名的请求。现在,当我输入 xyz.com 时,我连接的就是这台服务器,它从中获取数据并在浏览器中呈现。
为了更清楚地说明,想象一下域名 google.com 从一台服务器广播出去。某处有一台连接到互联网的机器,当你在浏览器中输入 google.com 时,你就连接到了这台机器,从中获取数据并在浏览器中显示。如果你保存了一张照片,它就会被上传到这台机器。现在,如果你想查看这张照片,你可以访问 google.com/show-me-my-picture,这样照片就会从机器传输到浏览器并显示给你。
如果无法连接到特定机器,这个过程就无法完成。为了实现这一点,每台机器都有一个地址(就像我们有手机号码一样),称为 IP 地址,每个域名都有一个 IP 地址映射。当您输入这个用户友好的网址 google.com 时,它会将您的用户名转换为 IP 地址,并连接到路由器以访问与该网址关联的特定服务线路。一旦连接到服务器,它就会发出所需信息的请求。该请求以“google.com/s=”的形式表示,帮助用户理解其请求内容。最终,服务器会根据您的请求返回结果,并将结果呈现在浏览器中。
当使用HTTP协议请求网站URL时会发生什么?
首先,HTTP 协议负责查找服务器。一旦建立通信,服务器就会向浏览器发送一段文本。这段文本可以是原始文本,也可以是加密文本,然后由浏览器渲染或用于其他任何需要的用途。
既然需要衡量这种难度系数,我们解释为:比特数越多,解密难度越大。然而,这仅仅增加了复杂度,使得解密非常困难,但并非不可能。
选择 HTTP 还是 HTTPS
任何事都属于个人隐私。如果你搜索“如何安装 SSL 证书”,这个搜索对你来说当然是私密的,对吧?无论你是浏览网页、寻找产品还是阅读文章,你通常都不希望别人知道。作为最终用户,我也会希望保持隐私。有些信息我可能不想保密,对于这些,我可以使用 HTTP。但是,对于个人信息、银行信息和交易信息,HTTPS 已经成为标准。
HTTPS听起来很棒。关于它,您还应该了解些什么?
隐私是有代价的,这一点毋庸置疑。它存在一些缺点——
-
HTTPS请求需要更多时间处理。
-
因为它需要更多时间处理,所以需要更多硬件——也就是您正在使用的服务器。这也意味着额外的成本。
然而,HTTP 协议的能耗比 HTTPS 协议低,因为通信速度更快(无需加密和解密)。但我不会把这视为 HTTPS 的缺点。这完全是个人主观感受,我认为为了保护隐私,我们付出的代价非常低。
构建安全网络的想法由来已久。原因有二:
-
用户数据和用户隐私:使用 HTTPS 可确保您作为开发者重视用户数据、用户隐私及其安全性。
-
保护您的数据:作为开发人员,我们绝不会想把我们的关键数据泄露给恶意参与者。
更多信息请访问:https://developer.mozilla.org/en-US/docs/Glossary/https
文章来源:https://dev.to/yogkas1006/easy-understanding-of-web-protocols-http-and-https-2h7g

