侧边栏壁纸
博主头像
colo

欲买桂花同载酒

  • 累计撰写 1824 篇文章
  • 累计收到 0 条评论

HTTP 和 HTTPS 的主要区别是什么?

2025-12-11 / 0 评论 / 5 阅读

题目

HTTP 和 HTTPS 的主要区别是什么?

信息

  • 类型:问答
  • 难度:⭐

考点

HTTP与HTTPS的区别,HTTPS的加密原理,HTTP的缺点

快速回答

HTTP 和 HTTPS 的核心区别在于安全性:

  • HTTP:明文传输数据,无加密
  • HTTPS:通过 SSL/TLS 加密传输数据
  • HTTPS 需要数字证书验证服务器身份
  • HTTP 默认端口 80,HTTPS 默认端口 443
## 解析

一、核心区别对比

特性HTTPHTTPS
数据传输明文传输加密传输(SSL/TLS)
安全性易被窃听/篡改防窃听/防篡改
端口号80443
证书要求无需证书需要CA颁发的数字证书
协议层应用层协议HTTP + 加密层(在TCP之上)

二、HTTPS 加密原理

工作流程:

  1. 客户端发起 HTTPS 请求(ClientHello)
  2. 服务器返回数字证书(包含公钥)
  3. 客户端验证证书有效性(CA机构签发)
  4. 生成会话密钥并用公钥加密传输
  5. 服务器用私钥解密获取会话密钥
  6. 双方使用会话密钥加密通信

加密技术组合:

  • 非对称加密(RSA/ECC):初始密钥交换
  • 对称加密(AES):后续数据传输
  • 哈希算法(SHA-256):数据完整性校验

三、HTTP 的安全风险示例

<!-- 典型明文表单提交 -->
<form action='http://example.com/login' method='POST'>
  用户名: <input type='text' name='user'>
  密码: <input type='password' name='pass'>
</form>

<!-- 攻击者可通过抓包直接获取: -->
POST /login HTTP/1.1
Host: example.com
user=admin&pass=123456  <!-- 明文密码暴露! -->

四、最佳实践

  • 所有涉及敏感信息(登录、支付)的站点必须使用 HTTPS
  • 使用 HSTS 头强制浏览器 HTTPS 访问:
    Strict-Transport-Security: max-age=31536000
  • 定期更新 TLS 版本(推荐 TLS 1.3)
  • 使用 Let's Encrypt 获取免费证书

五、常见错误

  • ❌ 在 HTTPS 页面混合加载 HTTP 资源(触发安全警告)
  • ❌ 证书过期或域名不匹配(浏览器显示红色警告)
  • ❌ 使用弱加密算法(如 RC4、SHA-1)

六、扩展知识

  • SEO 影响:Google 优先索引 HTTPS 网站
  • HTTP/2 依赖:主流浏览器要求 HTTPS 才支持 HTTP/2
  • 性能优化:TLS 1.3 减少握手延迟,速度接近 HTTP