当前位置: 首页 > news >正文

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

对比项 HTTP HTTPS
协议基础 明文传输,无加密 基于 SSL/TLS 加密传输
默认端口 80 443
安全性 数据可被窃听、篡改、劫持 防窃听、防篡改、身份认证
性能 无加密开销,速度更快 加密/解密消耗 CPU,速度略慢(但 HTTP/2 优化后差距缩小)
SEO 搜索引擎排名较低 谷歌等搜索引擎优先收录 HTTPS 网站
证书 无需证书 需 CA 颁发的数字证书(如 Let's Encrypt)

HTTPS 如何实现加密?
HTTPS = HTTP + SSL/TLS,通过以下机制保障安全:

  1. 混合加密(Hybrid Encryption)
    结合 对称加密 和 非对称加密 的优势

  2. 数字证书(Digital Certificate)
    解决 “公钥可信度” 问题,防止中间人攻击:

证书内容:服务器公钥 + 域名 + 颁发机构(CA)签名。
3. SSL/TLS 握手过程(以 RSA 密钥交换为例)
加密通信:
后续数据传输使用对称密钥加密(如 AES)。

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

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

  2. DNS域名解析

  3. 建立TCP连接(三次握手)

  4. TLS握手(HTTPS加密通信)

  5. 发送HTTP请求

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

  7. 浏览器解析并渲染页面

  8. 后续加载(异步请求)

关键优化点
减少DNS查询:使用DNS预解析 。
TCP复用:HTTP/2 多路复用减少握手开销。
减少重绘回流:避免频繁修改DOM样式。
CDN加速:静态资源分发到边缘节点。
分层描述:
“整个过程涉及 DNS解析 → TCP握手 → TLS加密 → HTTP请求 → 服务器处理 → 浏览器渲染。”

HTTP/2相比HTTP/1.1的改进?
多路复用、头部压缩、服务器推送。
如何优化页面加载速度?
减少请求数、CDN、缓存、代码拆分。

http://www.sczhlp.com/news/6945/

相关文章:

  • 3333
  • 打开浏览器输入win32.run就能跑XP?这回忆杀我真没法拒绝...
  • 2025.8 模拟赛日志
  • OSI七层模型和TCP/IP四层模型的区别与联系?各层的作用是什么?
  • 技能特长知识点总结 - Charon
  • 2025 暑期 mx 集训 7.17
  • 25牛客多校5
  • (25年版)在CentOS 7.9 系统上构建docker
  • 坚持打卡第三天 - Engineer
  • SWE-bench: Can Language Models Resolve Real-World GitHub Issues 论文笔记
  • Python实现信号小波分解与重构
  • 【笔记】DP 优化 2025.8.3
  • 影像+病理+转录组+基因组+蛋白组多模态的胶质瘤分型 R包已发布可以直接使用 居然使用R语言分析的 !
  • MX-2025 盖世计划 C 班 Day 4 复盘
  • 《AI-Assisted Programming》读后感
  • .NET周刊【7月第3期 2025-07-20】
  • stm32 HAL库下 阻塞 中断(it) DMA 三种模式下的串口通讯函数逻辑梳理(不一定正确)
  • 使用DPO在SageMaker中定制Nova模型
  • 测试用例设计的7大核心方法:高效捕捉Bug的终极指南
  • 服务器网络慢到怀疑人生?Linux TCP/IP调优实战,性能提升200%+
  • 【IoTDB 线上小课 18】Apache 软件基金会是什么?开源世界的“超级孵化器”!
  • cellchat-气泡图美化
  • 贝塞尔曲线(Bzier curve)及应用
  • 思通数科AI视频卫士:用AI重塑无人机河道巡检新范式
  • heapdump深度利用之信息泄露篇
  • Transformer
  • python_Day05学习笔记
  • 第8章 指针(正在更新中......)
  • 区间 dp
  • 状压 dp