http和https的基本了解

273 阅读7分钟

在我们深入了解 HTTP 和 HTTPS 协议之前,我们先理解“协议”这个词的含义。

协议是我们用于特定目的的一组规则。在当前情况下,当我们谈论协议时,它指的是沟通,我们彼此交谈的方式。例如,新闻联播主播说话,因为他说的是中文,我们能够理解它,协议是中文。当新闻主播开始用我们听不懂的语言说话时,这时我们就需要双方同意一套规则才能进行沟通,就是双方达成一种协议。

现在网络可以使用多种协议进行通信。但是对于最终用户而言,最重要和可见的协议是 HTTP 和 HTTPS。尽管还有许多其他协议,但 HTTP 和 HTTPS 是适合大多数人的协议,并且在网址中很容易看到。

现在,HTTP 意味着什么?

HTTP 代表超文本传输​协议。简而言之 - 这些是发送和接收基于文本的消息的规则。众所周知,计算机以 1 和 0 的语言(即二进制)工作。因此,每组 1 和 0 都可能构成某种东西——它可能是一个单词。

假设我想写“a”。现在,如果 0 代表“a”,1 代表“b”,01 代表“c”,我可以推断 0 和 1 的组合也可以构造一个单词。在本例中,文本已构建完毕并正在通过网络发送。计算机使用多种语言工作——纯二进制、文本和一些其他格式,如字节码。这里,传输的是文本。我强调“文本”是因为这个文本是由浏览器解释的,浏览器解释它的那一刻,它就变成了超文本,而传输文本的协议称为超文本传输​​协议——HTTP 

使用HTTP,可以传输图像、文本,甚至声音,但不能传输视频。

为什么选择 HTTPS 协议?HTTP 似乎就足够了

从一个点传输到另一个点的内容通常是文本。要了解为什么需要 HTTPS 协议,我们首先了解一下 WIFI 路由器的工作原理。

假设您在机场并且正在连接第三方的 WiFi。现在,当您通过 HTTP 进行通信时,文本将由其路由器传输。如果我使用低版本的路由器,我可以轻松地检查和阅读正在传输的文本。我可能会使用一个密码来登录您的银行网站并进行欺诈交易!重点是—这从根本上来说是不安全的。这就是中间人攻击。

现在,为了保护我们的数据免受此类攻击,我们需要加密该数据。

加密和加密级别

简单来说,加密就是隐藏信息,有多种方法可以实现这一点。您一定听说过这些术语 ——128 位加密 HTTPS64 位加密 HTTPS。128位加密是一种高级加密技术,解密(解码)非常困难。在 HTTPS 的情况下,当数据在网络上传输时,中间人可能仍然知道正在传输的内容,但无法理解它,因为数据是加密的。只有浏览器会解密并显示它,服务器会解密并使用它进行交易。

当请求通过浏览器打开网站时,是如何工作的

为了理解这一点,我们假设有一台服务器位于某处,为一个域的所有请求提供服务。现在,当我输入 zxy.com 时,它是我正在连接的服务器,从中获取数据并在浏览器中呈现它。

为了进一步简化,想象一下从一台服务器广播域名 baidu.com。在某个地方有一台机器连接到互联网,当您在浏览器中输入 baidu.com 时,您就会连接到该服务器,从该机器获取数据,并将其显示在浏览器中。如果您将图片保存在那里,它就会上传到该服务器。现在,如果您想查看该图片,请访问
baidu.com/show-me-my-picture,它将图片从机器传输到浏览器以显示给您。

当请求使用 HTTP 协议的网站时会发生什么

第一步,HTTP 的工作是找到服务器,一旦建立通信路由,服务器就会向浏览器发送文本。该文本可以是纯文本形式,也可以是加密形式,然后由浏览器呈现或用于其预期的任何目的。

要确定加密消息的解密难度,可以查看位数。数字越大,解密就越困难。然而,它只会增加复杂性,使得解密变得非常困难,但并非不可能。

在 HTTP 和 HTTPS 之间做出选择

如果您正在搜索“如何安装 SSL 证书”,该搜索对您来说是私密的。无论您是在浏览、寻找产品还是阅读文章,您通常都不希望被其他人知道。作为最终用户,我希望将这些活动保密。有些事情我可能不想保密,对于这些,我可以使用 HTTP。然而,对于个人信息、银行和跨国信息来说,HTTPS 已成为一种标准。

HTTPS 看起来不错,还应该了解什么?

不可否认,加密是有代价的。有几个缺点:

  1. HTTPS 请求需要更多时间来处理。
  2. 因为它们需要更多的时间来处理,所以需要更多的硬件——您正在使用的服务器。这也意味着额外的成本。

然而,与 HTTPS 相比,HTTP 使用的能源更少,因为通信速度更快(无需加密和解密),我不会将此视为 HTTPS 的限制 。改变是非常主观的,我个人认为我们为确保隐私而付出的成本非常低。

不用HTTPS,会有什么问题?

以下是目前仅在 HTTPS 上可用的一些功能。

  • 地理位置:如果您使用 HTTP,则无法再查找用户的位置。
  • Web 推送通知:推送通知仅在 HTTPS 上可用。
  • GetUserMedia:如果您使用 HTTP,则无法再触发使用用户摄像头/麦克风的权限。
  • HTTP/2:所有主流浏览器现在都支持 HTTPS 的 HTTP/2

一些常见问题:

使用 HTTPS 会影响网站的加载时间吗?

是的

为什么网络推送通知需要 SSL

网络推送通知已经出现一段时间了,并且只能在使用 HTTPS 协议的网站上运行。在回答这个问题之前,让我们先了解一下 HTTP 和 HTTPS 之间的共同点…

在编写协议书时,提到 HTTP 是一种无连接协议。这意味着位于数据中心的服务器在浏览器提出/发出请求之前无法执行任何操作。一旦给出响应,浏览器将决定是否要对此执行某些操作。这完全是浏览器的决定,服务器不能命令浏览器采取行动。随机服务器控制您的浏览器或屏幕/机器的想法是可怕的。为了防止这种可能性,HTTP 仍然是无连接协议。

但是,发送到服务器和从服务器发送的消息仍然可以被解密。Web推送通知只能在HTTPS协议上工作的原因是推送和接收的数据是私有数据。为了保证隐私,仅支持HTTPS协议。通知对于用户来说基本上是个人的。我们肯定希望这种通信是安全的。

结论

这可能很明显,但如果我今天必须决定使用哪个协议,想访问现代网络的所有最新功能,我肯定会选择 HTTPS,当然还要保证您的用户和您自己的安全。