HTTP和HTTPS的区别和作用

HTTP和HTTPS的区别和作用:


一、核心区别(分点清晰)

  1. 协议安全性

    • HTTP:明文传输,数据无加密,易被窃听(如登录密码、用户隐私泄露)。
    • HTTPS:HTTP + TLS/SSL加密层,数据在传输前加密(使用对称加密传输数据 + 非对称加密交换密钥),防止中间人攻击。
  2. 默认端口

    • HTTP默认80端口,HTTPS默认443端口。
  3. 证书体系

    • HTTPS必须由权威CA(Certificate Authority)签发证书,验证服务器身份,防止钓鱼网站。
    • 前端可通过浏览器地址栏的「锁」图标查看证书状态。
  4. 性能差异

    • HTTPS因TLS握手和加解密有一定性能损耗(可通过HTTP/2TLS 1.3OCSP Stapling优化)。

二、核心作用(突出价值)

  1. 保护用户隐私

    • 防止敏感数据(如密码、信用卡号)在传输中被窃取。
    • 案例:登录接口必须使用HTTPS,否则攻击者可轻松获取用户凭证。
  2. 确保数据完整性

    • TLS协议可验证数据未被篡改(如防止运营商注入广告)。
  3. 提升SEO和用户信任

    • 搜索引擎(如Google)给HTTPS网站更高的排名权重。
    • 浏览器对HTTP页面标记“不安全”,影响用户体验。
  4. 解锁现代Web能力

    • 部分浏览器API(如GeolocationService Worker)要求必须运行在HTTPS环境。
    • 案例:使用Service Worker实现PWA离线缓存时必须HTTPS。

三、从前端视角补充亮点

  1. 混合内容(Mixed Content)问题

    • 当HTTPS页面中加载HTTP资源(脚本、图片)时,浏览器会阻止或警告。
    • 解决方案
      <!-- 错误示范 ❌ -->
      <img src="http://example.com/image.jpg">
      
      <!-- 正确示范 ✅ -->
      <img src="//example.com/image.jpg">  <!-- 协议相对路径 -->
      <img src="https://example.com/image.jpg">  <!-- 强制HTTPS -->
      
  2. 性能优化实践

    • 使用HTTP/2(必须基于HTTPS)实现多路复用和头部压缩。
    • preconnect预连接优化HTTPS握手:
      <link rel="preconnect" href="https://cdn.example.com" crossorigin>
      
  3. 开发环境配置

    • 本地开发可通过工具(如webpack-dev-server)自动生成自签名证书启用HTTPS。
posted @   木燃不歇  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示