【2025计算机网络-面试常问】http和https区别是什么,http的内容有哪些,https用的是对称加密还是非对称加密,流程是怎么样的

HTTP与HTTPS全面对比及HTTPS加密流程详解

一、HTTP与HTTPS核心区别

特性 HTTP HTTPS
协议基础 明文传输 HTTP + SSL/TLS加密层
默认端口 80 443
加密方式 无加密 混合加密(非对称+对称)
证书要求 不需要 需要CA颁发的数字证书
安全性 易被窃听、篡改、冒充 防窃听、防篡改、身份认证
性能开销 无加密开销 增加10-20%的CPU消耗
SEO影响 无特殊优势 搜索引擎排名加权

二、HTTP协议内容组成

1. 请求报文结构

GET /index.html HTTP/1.1\r\n

Host: www.example.com\r\n

User-Agent: Mozilla/5.0\r\n

Accept: text/html\r\n

\r\n

请求体

  • 请求行:方法(GET/POST等) + URI + 协议版本

  • 请求头:

    • 通用头:Cache-Control、Connection

    • 请求头:Accept、Authorization

    • 实体头:Content-Type、Content-Length

  • 空行:\r\n

  • 请求体:POST/PUT等方法携带的数据

2. 响应报文结构

复制代码
HTTP/1.1 200 OK\r\n
Content-Type: text/html\r\n
Content-Length: 1234\r\n
\r\n
<!DOCTYPE html>...
  • 状态行:协议版本 + 状态码 + 状态描述

  • 响应头:

    • 通用头:Date、Server

    • 响应头:Location、Set-Cookie

    • 实体头:同上

  • 空行:\r\n

  • 响应体:实际返回内容

3. 主要方法

方法 作用 幂等性
GET 获取资源 是
POST 提交数据 否
PUT 替换资源 是
DELETE 删除资源 是
HEAD 获取报文首部 是

三、HTTPS加密机制详解(结合了对称加密和非对称加密)

1. 加密类型组合

  • 非对称加密(用于密钥交换)

    • 算法:RSA、ECDHE

    • 作用:安全传输对称加密的密钥

  • 对称加密(用于数据传输)

    • 算法:AES、ChaCha20

    • 作用:加密实际通信内容

2. HTTPS完整流程(TLS 1.2)

现代TLS 1.3优化

TLS 1.3(2018年发布)做了重大改进:

  1. 1-RTT握手:默认支持前向安全的ECDHE

  2. 0-RTT模式:对近期连接过的服务器可立即发送加密数据

  3. 简化密码套件:移除不安全的算法(如RSA密钥交换)

  4. 加密证书:服务器证书在加密扩展中发送

3. 密钥交换两种方式

(1) RSA密钥交换
(2) ECDHE密钥交换(前向安全)

密钥交换算法对比

特性 RSA密钥交换 ECDHE密钥交换
前向安全性 无 有
密钥生成开销 服务器低 双方都需要计算
主流支持 TLS 1.2及以下 TLS 1.2/1.3首选
密钥材料 静态服务器密钥 临时密钥对

4. 会话密钥生成

双方使用以下参数生成相同的会话密钥:

  • Client Random

  • Server Random

  • Premaster Secret

    通过PRF(伪随机函数)生成:

python代码

master\_secret = PRF(pre\_master\_secret + ClientRandom + ServerRandom)

key\_block = PRF(master\_secret + "key expansion" + ServerRandom + ClientRandom)

四、HTTPS安全增强机制

1. 证书验证流程

  1. 检查证书链完整性

  2. 验证有效期

  3. 检查域名匹配

  4. 吊销状态检查:

    • CRL(证书吊销列表)

    • OCSP(在线证书状态协议)

    • OCSP Stapling(服务器提供响应)

2. TLS 1.3主要改进

  • 1-RTT握手:简化握手流程

  • 0-RTT模式:对近期连接可立即发送数据

  • 移除不安全算法:仅保留前向安全加密套件

  • 加密证书传输:增强隐私保护

五、性能优化建议

  1. 会话恢复:

    • Session ID缓存

    • Session Ticket机制

  2. 证书优化:

    • 使用ECDSA证书

    • 选择更短的证书链

  3. 协议优化:

    • 启用HTTP/2 over HTTPS

    • 开启TLS False Start

  4. 硬件加速:

    • AES-NI指令集

    • 专用SSL加速卡

HTTPS通过巧妙的混合加密机制,既解决了对称加密的密钥分发问题,又避免了非对称加密的性能瓶颈,是现代Web安全的基石。理解其工作原理有助于开发者更好地调试和优化Web应用。

六:关于https证书申请:

以下是一些常用的https证书申请,需要花钱,具体流程可以去具体的网站看,有详细的流程,不一一赘述了。同时需要注意使用https时可能需要更改nginx相关代码。

  1. 阿里云

  2. 腾讯云

  3. certbot

  4. acme.sh

  5. freessl.cn

相关推荐
严谨的麻辣烫22 分钟前
静态 ISP 代理请求超时怎么排查?Python 与 curl 实战
python·http·requests·1024程序员节·网络排障
考研保研资料分享1 小时前
无论文竞赛保研中科院植物所:三场考核、科研追问与准备复盘
面试
救救孩子把1 小时前
AI面试八股文-23_23-Agent可观测性与生产监控面试题
人工智能·面试·职场和发展·agent·langsmith·langfuase
彭亚川Allen4 小时前
从零手搓 RAG 之 Embedding 技术
前端·后端·面试
Sailing4 小时前
🚀🚀【封闭结束4】Agent 工具调用工程化:把 Tool Runtime 做扎实
人工智能·面试·agent
见叶之秋5 小时前
【C++】红与黑的边界:红黑树从插入到自检
数据结构·c++·算法·面试
考研保研资料分享5 小时前
2023历史学跨保山大马理论:两轮笔面试、课程论文与方向取舍
面试·职场和发展
怕浪猫7 小时前
Step 5 Preview 模型写 3D 象棋,两个小时上线
前端·javascript·面试
_张一凡8 小时前
【AIGC面试面经第15期】AI 视频核心基础知识相关问答
面试·职场和发展·aigc
萨小耶9 小时前
AI 面试答题链路源码分析:Redis 幂等、题目锁与状态机如何配合
人工智能·redis·面试