首页 > 经验 > 关键词  > 网店运营最新资讯  > 正文

聊聊HTTPS和SSL/TLS协议

2015-04-10 15:35 · 稿源: 程序师
文章目录

要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识。

1. 大致了解几个基本术语(HTTPS、SSL、TLS)的含义

2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接”)

3. 大致了解加密算法的概念(尤其是“对称加密与非对称加密”的区别)

考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下。如果你自认为不是菜鸟,请略过本章节,直接去看“HTTPS 协议的需求”。

先澄清几个术语——HTTPS、SSL、TLS

1. “HTTP”是干嘛用滴?

首先,HTTP 是一个网络协议,是专门用来帮你传输 Web 内容滴。关于这个协议,就算你不了解,至少也听说过吧?比如你访问俺的博客的主页,浏览器地址栏会出现如下的网址

https://www.techug.com/

俺加了粗体的部分就是指 HTTP 协议。大部分网站都是通过 HTTP 协议来传输 Web 页面、以及 Web 页面上包含的各种东东(图片、CSS 样式、JS 脚本)。

2. “SSL/TLS”是干嘛用滴?

SSL 是洋文“Secure Sockets Layer”的缩写,中文叫做“安全套接层”。它是在上世纪90年代中期,由网景公司设计的。(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的基础设施——比如“CSS 样式表”和“JS 脚本”)

为啥要发明 SSL 这个协议捏?因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点——比如传输内容会被偷窥(嗅探)和篡改。发明 SSL 协议,就是为了解决这些问题。

到了1999年,SSL 因为应用广泛,已经成为互联网上的事实标准。IETF 就在那年把 SSL 标准化。标准化之后的名称改为 TLS(是“Transport Layer Security”的缩写),中文叫做“传输层安全协议”。

很多相关的文章都把这两者并列称呼(SSL/TLS),因为这两者可以视作同一个东西的不同阶段。

3. “HTTPS”是啥意思?

解释完 HTTP 和 SSL/TLS,现在就可以来解释 HTTPS 啦。咱们通常所说的 HTTPS 协议,说白了就是“HTTP 协议”和“SSL/TLS 协议”的组合。你可以把 HTTPS 大致理解为——“HTTP over SSL”或“HTTP over TLS”(反正 SSL 和 TLS 差不多)。

再来说说 HTTP 协议的特点

作为背景知识介绍,还需要再稍微谈一下 HTTP 协议本身的特点。HTTP 本身有很多特点,考虑到篇幅有限,俺只谈那些和 HTTPS 相关的特点。

1. HTTP 的版本和历史

如今咱们用的 HTTP 协议,版本号是 1.1(也就是 HTTP 1.1)。这个 1.1 版本是1995年底开始起草的(技术文档是 RFC2068),并在1999年正式发布(技术文档是 RFC2616)。

在 1.1 之前,还有曾经出现过两个版本“0.9 和 1.0”,其中的 HTTP 0.9 【没有】被广泛使用,而 HTTP 1.0 被广泛使用过。

另外,据说明年(2015)IETF 就要发布 HTTP 2.0 的标准了。俺拭目以待。

2. HTTP 和 TCP 之间的关系

简单地说,TCP 协议是 HTTP 协议的基石——HTTP 协议需要依靠 TCP 协议来传输数据。

在网络分层模型中,TCP 被称为“传输层协议”,而 HTTP 被称为“应用层协议”。

有很多常见的应用层协议是以 TCP 为基础的,比如“FTP、SMTP、POP、IMAP”等。

TCP 被称为“面向连接”的传输层协议。关于它的具体细节,俺就不展开了(否则篇幅又失控了)。你只需知道:传输层主要有两个协议,分别是 TCP 和 UDP。TCP 比 UDP 更可靠。你可以把 TCP 协议想象成某个水管,发送端这头进水,接收端那头就出水。并且 TCP 协议能够确保,先发送的数据先到达(与之相反,UDP 不保证这点)。

3. HTTP 协议如何使用 TCP 连接?

HTTP 对 TCP 连接的使用,分为两种方式:俗称“短连接”和“长连接”(“长连接”又称“持久连接”,洋文叫做“Keep-Alive”或“Persistent Connection”)

假设有一个网页,里面包含好多图片,还包含好多【外部的】CSS 文件和 JS 文件。在“短连接”的模式下,浏览器会先发起一个 TCP 连接,拿到该网页的 HTML 源代码(拿到 HTML 之后,这个 TCP 连接就关闭了)。然后,浏览器开始分析这个网页的源码,知道这个页面包含很多外部资源(图片、CSS、JS)。然后针对【每一个】外部资源,再分别发起一个个 TCP 连接,把这些文件获取到本地(同样的,每抓取一个外部资源后,相应的 TCP 就断开)

相反,如果是“长连接”的方式,浏览器也会先发起一个 TCP 连接去抓取页面。但是抓取页面之后,该 TCP 连接并不会立即关闭,而是暂时先保持着(所谓的“Keep-Alive”)。然后浏览器分析 HTML 源码之后,发现有很多外部资源,就用刚才那个 TCP 连接去抓取此页面的外部资源。

在 HTTP 1.0 版本,【默认】使用的是“短连接”(那时候是 Web 诞生初期,网页相对简单,“短连接”的问题不大);

到了1995年底开始制定 HTTP 1.1 草案的时候,网页已经开始变得复杂(网页内的图片、脚本越来越多了)。这时候再用短连接的方式,效率太低下了(因为建立 TCP 连接是有“时间成本”和“CPU 成本”滴)。所以,在 HTTP 1.1 中,【默认】采用的是“Keep-Alive”的方式。

关于“Keep-Alive”的更多介绍,可以参见维基百科词条(在“这里”)

谈谈“对称加密”和“非对称加密”的概念

1. 啥是“加密”和“解密”?

通俗而言,你可以把“加密”和“解密”理解为某种【互逆的】数学运算。就好比“加法和减法”互为逆运算、“乘法和除法”互为逆运算。

“加密”的过程,就是把“明文”变成“密文”的过程;反之,“解密”的过程,就是把“密文”变为“明文”。在这两个过程中,都需要一个关键的东东——叫做“密钥”——来参与数学运算。

2. 啥是“对称加密”?

所谓的“对称加密技术”,意思就是说:“加密”和“解密”使用【相同的】密钥。这个比较好理解。就好比你用 7zip 或 WinRAR 创建一个带密码(口令)的加密压缩包。当你下次要把这个压缩文件解开的时候,你需要输入【同样的】密码。在这个例子中,密码/口令就如同刚才说的“密钥”。

3. 啥是“非对称加密”?

所谓的“非对称加密技术”,意思就是说:“加密”和“解密”使用【不同的】密钥。这玩意儿比较难理解,也比较难想到。当年“非对称加密”的发明,还被誉为“密码学”历史上的一次革命。

由于篇幅有限,对“非对称加密”这个话题,俺就不展开了。有空的话,再单独写一篇扫盲。

  • 相关推荐
  • 大家在看
  • 腾讯云服务器12.12限时秒杀-1核2G首年50元

    腾讯云服务器12.12多种机型限时抢购,1核2G服务器4.17元/月,2核4G服务器6.17元/月,专业技术7*24小时在线服务,腾讯云为企业和个人提供快捷,安全,稳定的云服务!

    广告
  • Microsoft Edge 97稳定版发布:自动HTTPS等诸多新功能

    在 Chrome 97 稳定版日前发布之后,基于 Chromium 的 Microsoft Edge 浏览器 97 稳定版今天也正式发布,版本号为 97.0.1072.55。这是Edge 97进入稳定频道的第一个版本。这次更新带来了大量的修复和改进。请看下面的更新日志:功能更新● 当一个设备上有多个工作或教育账户登录时,使用当前配置文件登录网站。当一个设备上有多个工作或学校账户登录时,用户将被要求从账户选择器中选择一个账户来继续访问网站。在这个版本中,用户将

  • 微软发布补丁 修复HTTP协议堆栈远程执行代码漏洞

    针对近期曝光的Windows桌面和服务器高危漏洞,微软在本月的补丁星期二活动日中发布了一个补丁...幸运的是,目前还没有CVE-2022-21907的概念验证代码被发布,而且也没有证据表明该漏洞已经被黑客利用...尽管如此,微软建议IT人员优先对受影响的服务器进行修补...

  • 聊聊华为AppTouch:出海手游高效创收之选

    导语:拓展游戏变现的新思路。随着国内游戏市场销售总额增长放缓,人口红利消失,越来越多游戏公司选择出海掘金。根据中国音数协游戏工委(GPC)与中国游戏产业研究院发布的《 2021 年中国游戏产业报告》显示, 2021 年中国自主研发游戏海外市场实际销售收入达180. 13 亿美元,比 2020 年增加了25. 63 亿美元,同比增长16.59%,国产手游在海外市场份额多年来一直稳步增长。但随着海外市场竞争加剧,游戏平台以及游戏开发者们不得不探

  • Statista用户协议调查:苹果用户或需耗费半小时阅读全文

    针对各大科技企业的使用条款 / 用户协议,Statista 刚刚在最新分享的信息图表中给出了高低排列。尽管在 18-34 岁的受访者中,高达 97% 的人都会不看直接点确认。但余下的 3% 少数派,显然也不可能都由律师等法律专业人士组成。以使用苹果服务必须创建的 Apple ID 附加声明为例,其字数达到了 7314 个。若每分钟可平均扫过 240 个单词,读完也得耗费 30 分钟。然而在看过 Statista 的信息图后,你会发现苹果只能排到第四名。用户协?

  • Xbox掌舵者:PlayStation推类Game Pass服务是“正确答案”

    玩家对此显然有很多意见,但是 Xbox 掌舵者菲尔·斯宾塞(Phil Spencer)是如何看到即将到来的竞争呢?他认为这是 PlayStation 的“正确答案”...因此,当我听到别人做类似于 Game Pass 或进入 PC 的事情时,对我来说是有意义的,因为我认为这是正确的答案...索尼还没有正式宣布他们的新订阅服务,但随着预付的 PS Now 卡被下架,预计它很快就会被披露...

  • 套皮OBS?TikTok新推Live Studio直播软件被指违反开源许可协议

    上周,TikTok 悄然推出了名为 Live Studio 的 Windows 直播软件。但由于使用了来自 Open Broadcaster Software 旗下流行的 OBS Studio 应用程序和其它开源项目的代码,该公司很快被推上了“未遵守开源许可协议”的风口浪尖。上周晚些时候,@Naaackers 在 Twitter 上发布了一系列推文,指出 TikTok 直播软件实质上是对 @OBSProject 项目的一个分叉。Open Broadcaster Software 业务开发经理 Ben Torell 证实,其团队在与 Protocol ?

  • Steam元宇宙GameFi,Endless Battlefield正式上线OEC

    转眼间 2021 年即将成为过去, 2022 新的一年即将开启。过去一年区块链行业鉴证太多新概念的崛起,从年初的 Meme 币狂欢、NFT 热潮,到年中新公链生态的崛起,GameFi、DeFi 的持续演进,元宇宙、DAO 等各版块的龙头和新贵轮番上阵,区块链创新的力量仍持续……OEC作为一条新兴公链,专注GameFi、元宇宙和NFT等领域。先后上线Blade Warrior、CryptoBlades、Celestial等人们GameFi、元宇宙链游,聚焦链游领域,并创造多个完美数据,?

  • 特斯拉与Talon公司达成镍精矿供应协议

    特斯拉公司已经达成了从矿商Talon金属公司购买镍精矿的一项协议,因为这家电动汽车制造商与美国国内电池金属生产商建立了供应协议...Talon周一在一份声明中表示,特斯拉承诺购买Talon公司Tamarack项目生产的7.5万吨镍精矿,价格与伦敦金属交易所的镍现金结算价格挂钩...“力拓集团正在努力支持Talon公司将Tamarack矿投入生产,因为我们加强了我们的电池材料组合,”力拓矿业公司首席执行官SineadKaufman在一份声明中说...

  • 特斯拉FSD beta包含“Assertive”驾驶模式 “可能会执行滚动停车”

    特斯拉的完全自动驾驶beta版可以让车主从三个驾驶“配置文件”中选择,这些配置文件决定了汽车将如何对道路上的某些情况作出反应...车辆还将“不退出超车道”,并“可能执行滚动停车”,目前还不完全清楚这是否意味着汽车不会在停车标志前完全停止...而“Average”模式意味着汽车“将有一个中等的跟车距离,并可能进行滚动停车”...如果对这些配置文件的描述是准确的,这意味着在“Assertive”模式下的特斯拉可能会更紧地跟随汽车,滚动停车,并更频繁地交换车道...

  • Terra超过了Binance智能链成为第二大DeFi金融协议

    去中心化支付网络Terra现在是去中心化金融(DeFi)协议在总价值锁定(TVL)方面的第二大区块链,这一支撑了以太坊的协议本周已经超越了现在已经落到第三的Binance智能链(BSC)。分析工具DeFiLlama的数据显示,在Terra上,13个项目锁定了超过182亿美元的价值。这意味着每个协议平均超过14亿美元,而BSC上每个协议平均为7300万美元,BSC上有225个协议锁定了165亿美元。与2020年12月相比,这些数字增加了近42000%,当时Terra上的DeFi

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天