HTTPS 工作原理——讲清 TLS 握手 · 思维导图
HTTPS 工作原理——讲清 TLS 握手. 可编辑的思维导图,以彩色分支、子主题和曲线连接呈现想法。 曲线表示联系;只有方向重要时才使用箭头。
HTTPS 就是跑在加密会话里的 HTTP。在任何一个请求上路之前,浏览器与服务器先完成一次 TLS 握手——协商参数、验证服务器的证书,并商定一把只有它们两端共享的会话密钥。
HTTPS 工作原理——讲清 TLS 握手 · 思维导图
The interactive MindMap canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.
如何阅读这张思维导图
- 从中心主题开始,沿着彩色分支探索相关想法。
- 曲线表示联系;只有方向重要时才使用箭头。
Browser hello
这一分支汇集 “Browser connects to the HTTPS site”, “Browser sends a ClientHello with supported ciphers”.
Server identity
这一分支汇集 “Server replies with its certificate and a ServerHello”, “Validity also checks the domain name on the certificate matches the site and that the certificate has not expired or been revoked.”, “Browser blocks the connection with a warning”, “Browser checks the certificate signature against the CA”.
Session keys
这一分支汇集 “Browser sends a pre-master secret encrypted with the server's public key”, “From the pre-master secret, both sides independently compute the same session key. Only this key encrypts the actual data — the certificate's keys are used once.”.
Encrypted traffic
这一分支汇集 “HTTP messages are encrypted with the session key”, “Browser and server exchange encrypted data”.
跨分支联系
HTTPS = 跑在加密的 TLS 会话之上的 HTTP;加密发生在任何一条 HTTP 报文之前。
信任来自证书颁发机构,而不是服务器:浏览器用一个自己已经信任的 CA 来判断服务器的证书。
证书里的密钥只用一次,用来保护密钥交换;真正的数据由一把全新的会话密钥加密。
证书无效或不受信任就会中断连接——HTTPS 宁可失败关闭,也不把数据明文发出去。
HTTPS 所保护的一切,都跑在互联网图解所描绘的同一套数据包交换网络上。
Key relationships and takeaways
- HTTPS = 跑在加密的 TLS 会话之上的 HTTP;加密发生在任何一条 HTTP 报文之前。
- 信任来自证书颁发机构,而不是服务器:浏览器用一个自己已经信任的 CA 来判断服务器的证书。
- 证书里的密钥只用一次,用来保护密钥交换;真正的数据由一把全新的会话密钥加密。
- 证书无效或不受信任就会中断连接——HTTPS 宁可失败关闭,也不把数据明文发出去。
- HTTPS 所保护的一切,都跑在互联网图解所描绘的同一套数据包交换网络上。
When to use this visual
- 向团队解释那把小锁为什么会出现,以及一条证书警告到底意味着什么。
- 在工程师开始排查 TLS 问题、过期证书或混合内容警告之前,先让他们熟悉握手过程。
- 讲授信任模型:CA 层级与证书校验是如何防止冒充的。
运作方式
调整中心主题
根据项目或课程修改中心主题的名称。
扩展分支
编辑想法并添加示例或注释。
连接相关想法
绘制跨分支连接;只有方向重要时才使用箭头。
常见问题
HTTP 与 HTTPS 有什么区别?
HTTPS 就是跑在加密的 TLS 连接里的 HTTP。请求与响应用的是完全相同的协议;变的是在发送任何一条 HTTP 报文之前,浏览器与服务器先完成一次握手,建立起加密会话。传输的一切——URL、请求头、Cookie、响应体——都只有两端能读懂。
TLS 握手期间发生了什么?
浏览器发送一个 ClientHello,列出它支持的协议与加密套件;服务器回复它的选择和自己的证书;浏览器对照一个受信任的证书颁发机构验证这张证书;然后双方交换一个秘密,各自由它推导出相同的会话密钥。此后 HTTP 报文就以加密方式流动。图解把这一整套交换压缩成了这四步。
浏览器为什么需要证书颁发机构?
因为任何一台服务器都可以自称是任何一个域名。证书颁发机构(CA)就是那个第三方:它在核实域名确实属于申请人之后,为服务器的证书签名。浏览器内置了受信任 CA 的公钥,所以它自己就能验证签名——正是这一点把一个自说自话的身份变成了有人背书的身份。
一条证书警告意味着什么?
它意味着“证书有效且在有效期内吗?”这个决策里的某一项检查没有通过——证书过期了、覆盖的是另一个域名、由不受信任的 CA 签名,或者已经被吊销。浏览器选择阻断连接而不是继续,因为站点的身份无法得到验证。
在 QueryChart 中编辑此思维导图
在可编辑画布中打开思维导图。移动想法、添加分支并绘制连接。