HTTP 和 HTTPS 有什么区别
HTTP 和 HTTPS 区别
- HTTP(HyperText Transfer Protocol):
- 超文本传输协议,明文传输数据。
- HTTPS(HTTP Secure):
- HTTP 的安全版,基于 SSL/TLS 加密传输。
- 主要区别:
- 安全性:HTTP 明文,易被拦截;HTTPS 加密,保护数据。
- 端口:HTTP 默认 80,HTTPS 默认 443。
- 加密:HTTP 无加密,HTTPS 用 SSL/TLS。
- 证书:HTTPS 需服务器证书验证身份。
核心点
- HTTPS 在 HTTP 上加安全层。
1. 区别详解
(1) 安全性
- HTTP:
- 数据明文传输,易被窃听、篡改(中间人攻击)。
- HTTPS:
- 数据加密传输,保证机密性、完整性和身份验证。
- 示例:
- HTTP:密码明文发送。
- HTTPS:密码加密后传输。
(2) 端口
- HTTP:
- 默认端口 80。
- HTTPS:
- 默认端口 443。
- 意义:
- 区分服务类型,防火墙配置常用。
(3) 加密机制
- HTTP:
- 无加密,纯文本通信。
- HTTPS:
- 使用 SSL/TLS:
- 对称加密:数据传输(如 AES)。
- 非对称加密:密钥交换(如 RSA)。
- 证书验证:确保服务器可信。
- 过程:
- TLS 握手协商密钥,加密通信。
(4) 证书
- HTTP:
- 无需证书,任何服务器可响应。
- HTTPS:
- 需 CA(证书颁发机构)签发的数字证书。
- 客户端验证证书,防伪装。
- 示例:
https://www.google.com
有绿色锁标志。
2. HTTPS 工作原理
- TLS 握手:
- 客户端发送
Client Hello
(支持的加密算法)。 - 服务器回复
Server Hello
和证书。 - 客户端验证证书,生成会话密钥。
- 双方用密钥加密通信。
- 结果:
- 安全通道建立。
图示
HTTP: Client --> [明文] --> Server
HTTPS: Client --> [TLS 握手] --> [加密] --> Server
3. 对比表
特性 | HTTP | HTTPS |
---|---|---|
安全性 | 明文,不安全 | 加密,安全 |
端口 | 80 | 443 |
协议层 | 应用层 | 应用层 + SSL/TLS |
证书 | 无需 | 需要 |
性能 | 稍快 | 握手有开销 |
4. 延伸与面试角度
- 性能:
- HTTPS 握手增加 1-2 RTT,HTTP/2 优化弥补。
- SEO:
- Google 优先 HTTPS 站点。
- 实际应用:
- HTTP:内部测试。
- HTTPS:电商、银行。
- 面试点:
- 问“区别”时,提加密和端口。
- 问“原理”时,提 TLS 握手。
总结
HTTP 是明文协议,HTTPS 通过 SSL/TLS 加密并验证身份,区别在安全性、端口和证书。HTTPS 是现代标准,保障数据安全。面试时,可提握手流程或举例,展示理解深度。