【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

相关推荐
程序员爱钓鱼2 小时前
Go switch 详解
后端·面试·go
程序员爱钓鱼2 小时前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
Lzh编程小栈4 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rain的Java大神之路5 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
Dr.kangder6 小时前
嵌入式面试总结(十八)——JTAG调试
嵌入式硬件·面试·职场和发展·架构·嵌入式
笨鸟先飞,勤能补拙7 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
Dr.kangder8 小时前
嵌入式面试总结(十六)——AMBA总线
面试·职场和发展·架构·嵌入式·虚拟化·总线
Dr.kangder8 小时前
嵌入式面试总结(十九)——内存泄露
单片机·算法·面试·职场和发展·架构·硬件架构
pcplayer9 小时前
Delphi WebService 使用 HTTP Header 管理 Session
http·webservice·soap·web server·http header