http https HTTP超文本传输协议与 HTTPS超文本传输安全协议是互联网上应用最广泛的数据通信协议。HTTPS 并非一种全新的应用层协议而是在 HTTP 的基础上加入了 SSL/TLS 安全层专门用于解决 HTTP 明文传输带来的安全隐患。1. 核心区别对比对比维度HTTPHTTPS安全性明文传输数据易被窃听、篡改或伪造加密传输具备机密性、完整性和身份验证默认端口80443URL 标识http://开头https://开头证书需求不需要需要由受信任的 CA证书颁发机构颁发数字证书性能开销无加密开销传输较快存在加解密计算开销速度稍慢现代协议已大幅优化浏览器标识地址栏通常显示“不安全”警告地址栏显示锁形图标代表安全连接SEO 影响不利于搜索引擎排名搜索引擎如 Google优先收录有利于 SEO2. HTTPS 的安全机制三大核心HTTPS 通过以下三种机制弥补了 HTTP 的安全缺陷数据加密采用对称加密与非对称加密相结合的方案。在建立连接时使用非对称加密安全地协商密钥在后续的业务数据传输阶段使用对称加密如 AES对 URL、请求头、Token 等全部数据进行加密防止中间人窃听。身份验证通过数字证书验证服务器的真实性。客户端浏览器内置了 CA 机构的公钥通过验证服务器下发的数字证书确保通信对象是真实的服务器而非恶意伪装的中间人。数据完整性通过消息认证码MAC或哈希函数确保数据在传输过程中未被篡改。接收方可以验证收到的数据与发送方发送的完全一致。3. HTTPS 的通信流程TLS 握手HTTPS 在正式传输 HTTP 数据前需要先进行 SSL/TLS 握手以建立安全通道客户端 Hello客户端向服务器发起连接发送支持的 TLS 版本、加密算法列表以及一个随机数Client Random。服务器 Hello服务器选择一种加密算法连同自己的数字证书、公钥和另一个随机数Server Random发回给客户端。验证证书客户端验证服务器证书的有效性是否由可信 CA 签发、是否过期、域名是否匹配。生成会话密钥客户端生成一个预主密钥Pre-Master Secret用服务器的公钥加密后发送给服务器。服务器用自己的私钥解密获取该密钥。开始加密通信双方根据之前的三个随机数计算出相同的对称加密会话密钥Session Key。后续所有的 HTTP 请求和响应数据都使用此密钥进行加密传输。4. 总结与适用场景HTTP 适用场景由于缺乏安全性目前主要仅用于内部网络、测试环境或传输完全不敏感的信息。HTTPS 适用场景现代 Web 的标配。所有涉及用户隐私、账号登录、支付交易、API 调用的网站都必须使用 HTTPS。此外由于主流浏览器对 HTTP 标记为“不安全”且 HTTP/2 等新一代协议大多要求基于 HTTPS 运行全面迁移到 HTTPS 已成为互联网发展的必然趋势。