【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

相关推荐
丑陋小蚊子5 小时前
项目数据不能公开,就写清交付物
面试·求职招聘·大学生·简历·简历下载
2601_949950639 小时前
练题簿在线免费刷题 从资料整理到考前自测
面试·职场和发展·pdf·word·刷题
时间的拾荒人10 小时前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
海绵宝宝转agent10 小时前
MySql高频面试八股开源笔记总结
mysql·面试·开源
91刘仁德11 小时前
HTTP协议详解:从URL到HTTP服务器的完整实战
服务器·网络·笔记·网络协议·http
小呆呆66611 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
lsc_blog12 小时前
远程和居家办公的经历,技术简历上怎么摆
面试·职场和发展·重构·pdf·求职招聘
可乐鸡翅yeah_12 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
时间的拾荒人13 小时前
Qt 事件机制全解析:从事件处理到事件过滤器
开发语言·qt·面试
(Charon)14 小时前
【C++面试】vector底层原理:扩容、拷贝移动与迭代器失效
c++·面试