HTTPS 是怎么工作的

HTTPS = HTTP + TLS。它做的事很简单:先建立安全通道,再在通道里传 HTTP 数据。

1、先建 TCP 连接(三次握手)

客户端发 SYN → 服务器回 SYN+ACK → 客户端回 ACK。此时连接建立,但还没加密。

2、开始 TLS 握手:协商"怎么加密"

客户端发 ClientHello:支持的 TLS 版本、加密套件、随机数等。

服务器回 ServerHello:选定版本/套件,并把证书发给客户端(包含服务器公钥)。

3、证书校验:确认你连的真的是它

客户端用系统/浏览器内置的 CA 根证书链去验证:

证书是否被可信机构签发、是否过期、域名是否匹配、是否被吊销等。

通过后,才能继续,否则浏览器会提示不安全。

4、密钥交换:生成"会话密钥"

关键点:非对称加密(公钥/私钥)主要用来"安全地协商密钥",不适合大量数据传输。

客户端与服务器通过密钥交换算法(如 ECDHE)协商出同一把会话密钥(对称密钥)。

会话密钥只在本次连接里用,速度快,安全性高。

5、切换到加密通道(Change Cipher Spec)

双方确认后续都用会话密钥进行加密/解密,并完成握手。

6、加密传输数据

接下来传的就是加密后的 HTTP 请求/响应(Encrypted Data)。

同时配合完整性校验(防篡改)与身份验证(防冒充)。

一句话总结

TCP 负责"连上";TLS 负责"验证身份 + 协商密钥 + 加密传输"。

非对称:用来握手与身份认证;对称:用来高效加密传数据。

相关推荐
小李独爱秋6 小时前
计算机网络经典问题透视:如何探知无线AP的SSID与BSSID?
网络协议·计算机网络·wireshark·信息与通信
..过云雨8 小时前
五种IO模型与非阻塞IO
网络·网络协议·tcp/ip
源远流长jerry9 小时前
dpdk之kni处理dns案例
linux·网络·网络协议·ubuntu·ip
2501_9151063210 小时前
当 Perfdog 开始收费之后,我重新整理了一替代方案
android·ios·小程序·https·uni-app·iphone·webview
db_murphy12 小时前
知识篇 | net.ipv4.ip_forward 参数
网络·网络协议·tcp/ip
Vect__12 小时前
TCP Socket编程详解
网络协议·tcp/ip·php
2501_9159184113 小时前
中小团队发布,跨平台 iOS 上架,证书、描述文件创建管理,测试分发一体化方案
android·ios·小程序·https·uni-app·iphone·webview
B2_Proxy13 小时前
如何使用代理服务解决“您的 ASN 被阻止”错误:全面策略分析
网络·爬虫·网络协议·tcp/ip·安全·代理模式
Hello.Reader14 小时前
Rocket 0.5 响应体系Responder、流式输出、WebSocket 与 uri! 类型安全 URI
websocket·网络协议·安全·rust·rocket
JoySSLLian14 小时前
IP SSL证书是什么?为何它是保障IP通信安全的关键?
网络协议·tcp/ip·https·ssl