【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

相关推荐
慕仲卿几秒前
模型初始化:加载分词器和模型
面试
海底火旺1 分钟前
寻找缺失的最小正整数:从暴力到最优的算法演进
javascript·算法·面试
顾林海1 分钟前
深入探究 Android Native 代码的崩溃捕获机制
android·面试·性能优化
慕仲卿3 分钟前
缩放器和优化器的定义
面试
慕仲卿4 分钟前
网络训练中使用上下文管理器 ctx 控制计算精度
面试
异常君4 分钟前
HTTP头中的Accept-Encoding与Content-Encoding深度剖析
后端·nginx·http
夜熵7 分钟前
Vue中nextTick()用法
前端·面试
慕仲卿8 分钟前
保存模型检查点
面试
慕仲卿9 分钟前
归零模型梯度
面试
丰锋ff1 小时前
计算机网络学习笔记
笔记·学习·计算机网络