HTTP和HTTPS的区别?HTTPS是如何实现加密的?

2025-11-15 11:06:05

对比项

HTTP

HTTPS

协议基础

明文传输,无加密

基于 SSL/TLS 加密传输

默认端口

80

443

安全性

数据可被窃听、篡改、劫持

防窃听、防篡改、身份认证

性能

无加密开销,速度更快

加密/解密消耗 CPU,速度略慢(但 HTTP/2 优化后差距缩小)

SEO

搜索引擎排名较低

谷歌等搜索引擎优先收录 HTTPS 网站

证书

无需证书

需 CA 颁发的数字证书(如 Let's Encrypt)

HTTPS 如何实现加密?

HTTPS = HTTP + SSL/TLS,通过以下机制保障安全:

混合加密(Hybrid Encryption)

结合 对称加密 和 非对称加密 的优势

数字证书(Digital Certificate)

解决 “公钥可信度” 问题,防止中间人攻击:

证书内容:服务器公钥 + 域名 + 颁发机构(CA)签名。

3. SSL/TLS 握手过程(以 RSA 密钥交换为例)

加密通信:

后续数据传输使用对称密钥加密(如 AES)。

从输入URL到页面显示,整个过程发生了什么?(经典问题)

输入URL并解析

用户输入:在浏览器地址栏输入 https://www.example.com 并按下回车。

DNS域名解析

建立TCP连接(三次握手)

TLS握手(HTTPS加密通信)

发送HTTP请求

服务器处理请求并返回响应

浏览器解析并渲染页面

后续加载(异步请求)

关键优化点

减少DNS查询:使用DNS预解析 。

TCP复用:HTTP/2 多路复用减少握手开销。

减少重绘回流:避免频繁修改DOM样式。

CDN加速:静态资源分发到边缘节点。

分层描述:

“整个过程涉及 DNS解析 → TCP握手 → TLS加密 → HTTP请求 → 服务器处理 → 浏览器渲染。”

HTTP/2相比HTTP/1.1的改进?

多路复用、头部压缩、服务器推送。

如何优化页面加载速度?

减少请求数、CDN、缓存、代码拆分。