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

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

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

一、HTTP与HTTPS核心区别

特性HTTPHTTPS
协议基础明文传输HTTP + SSL/TLS加密层
默认端口80443
加密方式无加密混合加密(非对称+对称)
证书要求不需要需要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
[请求体]

  • 请求字段(Request Headers):

  • Host:指定请求的目标域名和端口号。

  • User-Agent:标识客户端信息(浏览器/设备类型)。

  • Accept:声明客户端可接受的响应类型。

  • Authorization:携带认证凭证(如Bearer Token)

2. 响应报文结构

HTTP/1.1 200 OK\r\n
Content-Type: text/html\r\n
Content-Length: 1234\r\n
\r\n
<!DOCTYPE html>...
  • 响应字段(Response Headers):

  • Server:标识服务器软件信息。

  • Set-Cookie:设置在客户端要存储的Cookie。

  • Location:重定向目标URL(3xx响应时)。

  • 通用字段(General Headers):

  • Cache-Control:控制缓存行为(强缓存)。

  • Connection:管理TCP连接(如keep-alive)。

  • Date:消息产生的日期时间(GMT格式)

  

  • 实体字段(Entity Headers):

  • Content-Type:声明消息体的媒体类型。

  • Content-Length:指示消息体的大小(字节数)。帮助客户端判断响应是否接收完整

  • Content-Encoding:指定消息体的编码方式。支持gzip/deflate等压缩算法

  • Last-Modified:资源最后修改时间(用于缓存验证)

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


http://www.mrgr.cn/news/100270.html

相关文章:

  • XSS跨站--原理和分类
  • 第七讲 | list的使用及其模拟实现
  • java—12 kafka
  • 【专题三】二分查找(2)
  • UOJ 228 基础数据结构练习题 Solution
  • 第一部分:git基本操作
  • 皖维 大病救助办理手续说明
  • IOT项目——DIY 气象站
  • 【深度强化学习 DRL 快速实践】逆向强化学习算法 (IRL)
  • Shell 脚本入门:从零开始写自动化脚本
  • QT窗口相关控件及其属性
  • 再来1章linux 系列-11 系统的延迟任务及定时任务 ,名单,at ,crontab,mail;/etc/at.allow,/etc/at.deny
  • 使用spring boot vue 上传mp4转码为dash并播放
  • 【深度强化学习 DRL 快速实践】深度确定性策略梯度算法 (DDPG)
  • 【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
  • 【FreeRTOS】事件标志组
  • C语言实现对哈希表的操作:创建哈希表与扩容哈希表
  • Mysql日志undo redo binlog relaylog与更新一条数据的执行过程详解
  • 软考中级-软件设计师 知识点速过1(手写笔记)
  • 大模型应用开发之LLM入门