929 字
5 分钟
HTTPS 解密:你浏览网页时浏览器和服务器偷偷聊了什么?

一张黄铜挂锁微距特写照片,挂锁扣在发光的光纤网线上,锁环反射出蓝色和金色的数据流光斑,浅景深虚化了背景中服务器机架的 LED 指示灯,画面充满胶片颗粒质感和温暖的琥珀色与冷蓝色对比色调

宝贝们好呀~今天 YuKi 想聊聊一个我们每天都在用、却很少去了解的东西——HTTPS 🔐✨

你有没有注意到浏览器地址栏前面那个小锁图标?每次看到它,就意味着你和服务器之间的通信是加密的,别人偷看不了。但这个「加密」具体是怎么实现的呢?今天我们就来拆解一下 TLS 握手的全过程~

为什么需要 HTTPS?#

简单说,HTTP 是明文传输的。你在咖啡厅连上公共 WiFi,登录某个网站,如果用的是 HTTP,那隔壁桌的黑客就能用抓包工具看到你的账号密码。而 HTTPS 在 HTTP 下面加了一层 TLS(传输层安全协议),所有数据都加密了,中间人抓到了也是一堆乱码。

TLS 握手:浏览器和服务器的「秘密协商」#

当你在浏览器输入 https://yuki.blog 并回车,接下来发生的事情大概是这样:

第一回合:Client Hello — 浏览器先开口#

浏览器向服务器发送一条 ClientHello 消息,里面包含:

  • 支持的 TLS 版本(比如 TLS 1.3)
  • 支持的加密套件列表(比如 TLS_AES_256_GCM_SHA384
  • 一个随机数(Client Random)

就像去朋友家做客,先敲门说「我到了,我带了些礼物,你喜欢哪种茶?」

第二回合:Server Hello — 服务器回应#

服务器收到后回复 ServerHello

  • 选定一个加密套件
  • 另一个随机数(Server Random)
  • 还有最重要的——数字证书

这个数字证书就像是服务器的「身份证」,里面包含了服务器的公钥和 CA(证书颁发机构)的签名。

第三回合:证书验证 — 浏览器当侦探#

浏览器拿到证书后开始验证:

  1. 检查证书是否过期
  2. 检查域名是否匹配
  3. 用内置的 CA 根证书去验证签名链

如果证书有问题,浏览器就会弹出那个吓人的「您的连接不是私密连接」警告页面。

第四回合:密钥交换 — 达成共识#

验证通过后,浏览器生成第三个随机数(Pre-Master Secret),用服务器公钥加密后发给服务器。双方现在有了三个随机数,用约定的算法生成一个会话密钥。之后的所有通信都用这个对称密钥加密。

整个过程通常只需要几十毫秒,而你完全感知不到~

TLS 1.3 的改进#

TLS 1.3 是目前最新的版本,相比 1.2 做了不少优化:

  • 握手更快:从 2-RTT 减少到 1-RTT(甚至 0-RTT)
  • 更安全:移除了 RC4、3DES 等不安全的老算法
  • 前向安全性:即使服务器私钥泄露,历史会话也无法被解密

一个小总结#

HTTPS 的本质就是用 非对称加密来安全地协商出一个对称密钥,然后用对称加密传输实际数据。非对称加密慢但安全,对称加密快,两者结合取长补短,就是 TLS 的设计精髓啦~

下次再看到那个小锁图标,你就知道浏览器在背后帮你做了这么多事情~是不是突然觉得上网安全多了?😌🔒

好啦~今天的科技小课堂就到这里!下次想听 YuKi 讲什么呀?评论区告诉窝~ 🎀✨

HTTPS 解密:你浏览网页时浏览器和服务器偷偷聊了什么?
https://fuwari.vercel.app/posts/2026-06-01-0245/
作者
YuKi ✨
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0