10分钟带你理解HTTP 和 HTTPS

HTTP 简介

HTTP(HyperText Transfer Protocol),又称为超文本传输协议

1898 年,Tim Berners-Lee 在 CERN(欧洲核子研究组织)提出了一种能让远隔两地的研究者们共享知识的设想,也就是后来的万维网。HTTP 也由此开始发展。

TCP/IP 协议族(TCP/IP Protocols)

简介

计算机和网络之间要实现信息传输,双方就要约定好通信的标准和方法。比如说怎么发起/结束通信,由那一边先发起,使用什么方法,什么语言等等。而这些为通信而制定的规则,我们称为协议(protocol)。TCP/IP 协议族(TCP/IP Protocol Suite,或 TCP/IP Protocols)则是这些网络传输协议家族的统称,这是因为协议族中的两个核心写于 TCP 和 IP,为该家族在最早通过的标准。

分层管理

TCP/IP 协议在一定程度上参考了 OSI 模型(Open System Interconnection Model)的体系结构。OSI 模型共有七层,从下到上分别是物理层、数据链路层、网络层、运输层、会话层、表示层和应用层。但是这显然是有些复杂的,所以在 TCP/IP 协议中,它们被简化为了四个层次,我们叫它 TCP/IP 模型,它也被看做简化的 OSI 模型。而 HTTP 协议就是位于应用层的一种协议。

OSI 层号 OSC 层次名 TCP/IP 层号 TCP/IP 层次名 封装单元 TCP/IP 协议
7 应用层(Application Layer) 4 应用层(Application Layer) 数据 HTTP, FTP, TFTP, DNS, Telent, IMAP, SMTP
6 表示层(Presentation Layer) ^^ 数据 ^^
5 会话层(Session Layer) ^^ 数据 ^^
4 传输层(Transport Layer) 3 传输层(Transport Layer) 报文段 TCP, UDP, RTP, SCTP
3 网络层(Network Layer) 2 互联网层(Internet Layer) 数据包 IP
2 数据链路层 (Data Link Layer) 1 网络接口层(Network Access Layer)
1 物理层(Physical Layer) ^^ 比特

HTTP 版本历史

HTTP/0.9

HTTP 于 1990 年问世,那时候 HTTP 并没有被做完正式的标准被建立,因此被称为 HTTP/0.9。

HTTP/1.0

1996 年的 5 月,HTTP 正式作为标准被公布。这是第一个在通讯中指定版本号的 HTTP 协议版本。

HTTP/1.1

HTTP/1.1 于 1997 年 1 月公布,弥补了之前版本的很多不足。
HTTP/1.1 相较于 HTTP/1.0 协议的区别主要体现在:

  • 缓存处理
  • 带宽优化及网络连接的使用
  • 错误通知的管理
  • 消息在网络中的发送
  • 互联网地址的维护
  • 安全性及完整性

HTTP/2

于 2015 年 5 月作为互联网标准正式发布, 是目前的主流版本(截至到写这篇文章的 2021 年 11 月)。

HTTP/3

HTTP/3 是即将到来的第三个主要版本的 HTTP 协议,和之前的 1.1 和 2 不同,在 HTTP/3 中,将弃用 TCP 协议,改为使用基于 UDP 协议的 QUIC 协议实现。

HTTP 缺点

  1. HTTP 本身不具备加密功能,导致通信使用明文(不加密),内容可能会被窃听
  2. 不验证通信方的身份,因此有可能遭遇伪装
  3. 无法证明报文的完整性,所以有可能已遭篡改

参考:《图解 HTTP》

HTTPS

HTTPS(HTTP Secure) 也叫“超文本传输安全协议”,但它不是应用层的一种新协议,而是经由 HTTP 进行通讯,但是在 HTTP 通信接口部分用 SSL/TLS 协议代替。简而言之,HTTPS 是在 HTTP 的基础上,加了 SSL/TSL 协议这层外壳, 也拥有了身份验证,加密,证书和完整性保护这些功能。

http-https.png

SSL/TSL 简介

什么是 SSL

SSL(Secure Sockets Layer) 是由网景公司(Netscape)设计的主要用于 WEB 的安全传输协议。它的基础算法是网景公司的首席科学家 Taher Elgamal 编写,他也由此被称为“SSL 之父”。
SSL 协议在 1999 年 TLS 1.0 发布时就已被弃用,但仍然经常将这些相关技术称为“SSL”或“SSL/TLS”。

什么是 TSL

TSL(Transport Layer Security), 称为传输层安全协议,它是 SSL 的后继者。IETF(Internet Engineering Task Force)将 SSL 标准化,并命名为 TLS。

加密方式

公开密钥加密

公开密钥密码学(Public-key encryption),也称非对称式密码学(Asymmetric encryption)。
公开密码学它需要两个密钥,一个是公开密钥,另一个是私有密钥;公钥用作加密,私钥则用作解密。使用公钥把明文加密后所得的密文,只能用相对应的私钥才能解密并得到原本的明文。最初用来加密的公钥不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密。

加密过程:
我们可以通过 d(c(x))=x 来解释

  1. 小明和小红互相不认识,也没有安全可靠的沟通渠道,但是小明现在要通过不安全的互联网向小红发信息。
  2. 小明写好信息,这时候我们称这个未加密的信息为明文 x
  3. 小红通过密码学安全伪随机数生成器产生一对密钥,其中一个作为公钥 c,另一个作为私钥 d
  4. 小红可以通过任何方法发送公钥 c 给小明。这个公钥 c 谁看到都没问题。
  5. 小明通过公钥 c明文 x加密,得到密文 c(x)
  6. 小明可以通过任何方法把密文 c(x)发送给小红,这个密文,被小刚看到也没关系。
  7. 小红收到密文 c(x),他用自己的私钥 d 进行解密 d(c(x)),得到明文 x
  8. 如果小刚截取了小明的密文 c(x),但是由于小刚没有私钥 d,因此小刚无法获得明文 x,因为加密和解密的密钥是分开的。
  9. 如果小明把自己写的信息(明文 x)弄丢了,在没有得到私钥 d 的情况下,小明和小刚一样,都没法获得重新得到明文x

对称密钥加密

对称密钥加密(Symmetric-key encryption),它又称为共享密钥加密(asymmetric-key encryption)。它的加密和解密都使用相同的密钥。与公开密钥加密相比,它的速度要快很对,但是要求双方获取相同的密钥是对称密钥加密的主要缺点之一,因为你无法保证能把密钥安全发送给对方。

HTTPS 采用的是混合加密机制

SSL/TLS 使用非对称和对称加密来保护传输中的数据的机密性和完整性。非对称加密用于在客户端和服务器之间建立安全会话,对称加密用于在安全会话中交换数据。这样把两种加密方式的优点结合起来。实现了我们现在用的 HTTPS。

mixed-encryption.png

SSL 证书

SSL 证书(也称 TLS 或者 SSL/TLS 证书)是一种数字证书,它就是遵守 SSL 协议,由受信任的数字证书颁发机构 CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

  • 如果 Web 服务器的 SSL 证书是由一个公开受信任的证书颁发机构(CA)签署的,那么来自服务器的数字签名内容将被最终用户的 web 浏览器和操作系统视为可信的。
  • 如果你自己使用 OpenSSL 开源程序,自己构建一套私人的认证机构,从而给自己颁发服务器证书。但是这个服务器证书在互联网上不可以作为证书使用,没有什么用,浏览器访问该服务器时,会显示“无法确认连接安全性”或“该网站的安全证书存在问题”等警告消息。

我们可以通过点击url头部的🔒的标志来查看证书。

certificate.png

使用场景

HTTPS 和 HTTP 的主要区别就是安全和速度。在安全上,HTTPS 优于 HTTP。但是因为加密和解密的过程需要进行大量运算,严重降低机器性能。相关测试数据表明使用 HTTPS 协议传输数据的工作效率只有使用 HTTP 协议传输的十分之一。

安全: HTTPS>HTTP

速度: HTTPS<HTTP

  1. 如果你的网站不是商业性质的,或者你不需要考虑网站访问者提交的敏感信息,比如说密码,身份信息等等。你可以考虑只用 HTTP
  2. HTTPS 除了在安全上有绝对优势,如果你的网站需要做 SEO,也请用 HTTPS。很多搜索引擎会忽略甚至屏蔽 HTTP 的网站。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,423评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,147评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,019评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,443评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,535评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,798评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,941评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,704评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,152评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,494评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,629评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,295评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,901评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,978评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,333评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,499评论 2 348

推荐阅读更多精彩内容