当前位置: 首页 > 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
[请求体]

  • 请求行:方法(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

相关文章:

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

HTTP与HTTPS全面对比及HTTPS加密流程详解 一、HTTP与HTTPS核心区别 特性HTTPHTTPS协议基础明文传输HTTP SSL/TLS加密层默认端口80443加密方式无加密混合加密&#xff08;非对称对称&#xff09;证书要求不需要需要CA颁发的数字证书安全性易被窃听、篡改、冒充防窃听、防篡改…...

使用安全继电器的急停电路设计

使用安全继电器的急停电路设计 一&#xff0c;急停回路的设计1&#xff0c;如何将急停接到线路当中&#xff1f;2&#xff0c;急停开关 如何接到安全继电器中 一&#xff0c;急停回路的设计 急停是每一个设备必不可少的部分&#xff0c;因为关乎安全&#xff0c;所以说所以说他…...

SpringCloud概述和环境搭建

SpringCloud概述和环境搭建 一.微服务的引入1.单体架构2.集群和分布式架构3.集群和分布式4.微服务架构4.微服务的优缺点 二.微服务解决方案-SpringCloud1.Spring Cloud简介2.Spring Cloud版本3.Spring Cloud实现方案4.Spring Cloud Alibaba 三.环境搭建1.安装JDK172.Ubantu上下…...

System.out 详解

System.out 详解 System.out 是 Java 提供的标准输出流(PrintStream 类型),默认关联控制台(Console),用于向终端打印文本信息。它是 Java 中最常用的输出方式之一,尤其在调试和命令行程序开发中。 1. 核心知识点 (1)System.out 的本质 类型:PrintStream(字节流,但…...

每天学一个 Linux 命令(28):ln

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/28/index.html ln 是 Linux 中用于创建文件或目录链接的命令,主要生成硬链接(Hard Link)和符号链接(Symbolic Link,软链接)。链接常用于文件共享、快捷访问或版本管理。 命令格式 ln [选项] 源文件 目标链接链…...

【微知】服务器如何获取服务器的SN序列号信息?(dmidecode -t 1)

文章目录 背景命令dmidecode -t的数字代表的字段 背景 各种场景都需要获取服务器的SN&#xff08;Serial Number&#xff09;&#xff0c;比如问题定位&#xff0c;文件命名&#xff0c;该部分信息在dmi中是标准信息&#xff0c;不同服务器&#xff0c;不同os都能用相同方式获…...

4.20刷题记录(单调栈)

第一部分&#xff1a;简单介绍 单调栈我的理解是在栈中存储数字出现的位置&#xff0c;然后通过遍历比较当前栈顶元素与当前元素的大小关系&#xff0c;从而确定逻辑相关顺序。 第二部分&#xff1a;真题讲解 &#xff08;1&#xff09;739. 每日温度 - 力扣&#xff08;Lee…...

Opencv图像处理:模板匹配对象

文章目录 一、模板匹配1、什么是模板匹配&#xff1f;2、原理 二、单模板匹配&#xff08;代码实现&#xff09;1、预处理2、 开始模板匹配并绘制匹配位置的外接矩形 三、多模板匹配&#xff08;代码实现&#xff09;1、读取图片和模板2、模板匹配3、设置阈值1&#xff09;阈值…...

Web3.0热门领域NFT项目实战课程

课程大小&#xff1a;3.8G 课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/90616383 更多资源下载&#xff1a;关注我 深度掌握Solidity合约开发&#xff0c;助力成为抢手的Web3.0开发工程师 深入Web3.0技术的人才&#xff0c;一将难求。本课程由We…...

DAY 50 leetcode 1047--栈和队列.删除字符串中的所有相邻重复项

题号1047 给出由小写字母组成的字符串 s&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 s 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 import java.util.Ar…...

单例模式与消费者生产者模型,以及线程池的基本认识与模拟实现

前言 今天我们就来讲讲什么是单例模式与线程池的相关知识&#xff0c;这两个内容也是我们多线程中比较重要的内容。其次单例模式也是我们常见设计模式。 单例模式 那么什么是单例模式呢&#xff1f;上面说到的设计模式又是什么&#xff1f; 其实单例模式就是设计模式的一种。…...

微信小程序通过mqtt控制esp32

目录 1.注册巴法云 2.设备连接mqtt 3.微信小程序 备注 本文esp32用的是MicroPython固件&#xff0c;MQTT服务用的是巴法云。 本文参考巴法云官方教程&#xff1a;https://bemfa.blog.csdn.net/article/details/115282152 1.注册巴法云 注册登陆并新建一个topic&#xff…...

QML、Qt Quick 、Qt Quick Controls 2

一、概念 基本关系 QML 是声明式语言,用于描述用户界面。声明式语法(类似JSON+JavaScript),定义UI结构和行为。 Qt Quick 是 QML 的标准库,提供基本类型和功能。提供QML语言运行时的基础能力,相当于QML的"标准模板库(STL)"。 Quick Controls 2 是基于 Qt Quic…...

基于maven-jar-plugin打造一款自动识别主类的maven打包插件

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

利用 HEMT 和 PHEMT 改善无线通信电路中的增益、速度和噪声

本文要点 高电子迁移率晶体管 &#xff08;High electron mobility transistors &#xff0c;HEMTs&#xff09; 和应变式异质接面高迁移率晶体管&#xff08;pseudomorphic high electron mobility transistors &#xff0c;PHEMTs&#xff09; 因其独特的、可提高性能的特点而…...

探秘C#用户定义类型:突破预定义的边界

在C#的编程世界里&#xff0c;除了系统提供的16种预定义类型&#xff0c;开发者还拥有强大的自主能力——创建自己的用户定义类型。这大大拓展了编程的灵活性和可扩展性&#xff0c;让开发者能根据具体需求定制数据结构和功能。 六种用户定义类型 类类型&#xff08;class&am…...

idea中导入从GitHub上克隆下来的springboot项目解决找不到主类的问题

第一步&#xff1a;删除目录下的.idea和target&#xff0c;然后用idea打开 第二步&#xff1a;如果有需要&#xff0c;idea更换jdk版本 原文链接&#xff1a;https://blog.csdn.net/m0_74036731/article/details/146779040 解决方法&#xff08;idea中解决&#xff09;&#…...

北理工宫某的瓜ppt下载地址

关于“北理工宫某瓜”PPT下载地址相关技术探讨 摘要&#xff1a;本文围绕“北理工宫某瓜”事件中PPT下载地址相关情况展开分析&#xff0c;探讨了网络资源传播的技术机制、涉及的网络安全问题以及围绕此类资源分享应遵循的规范和注意事项&#xff0c;旨在从技术角度对这类网络…...

[论文阅读]Making Retrieval-Augmented Language Models Robust to Irrelevant Context

Making Retrieval-Augmented Language Models Robust to Irrelevant Context [2310.01558v2] Making Retrieval-Augmented Language Models Robust to Irrelevant Context 检索增强语言模型&#xff08;RALMs&#xff09;&#xff0c;它包含一个检索机制&#xff0c;以减少将…...

论文阅读:2023 arxiv A Survey of Reinforcement Learning from Human Feedback

A Survey of Reinforcement Learning from Human Feedback https://arxiv.org/pdf/2312.14925 https://www.doubao.com/chat/3506943124865538 速览 这篇论文是关于“从人类反馈中进行强化学习&#xff08;RLHF&#xff09;”的综述&#xff0c;核心是讲如何让AI通过人类反…...

【图像处理基石】什么是去马赛克算法?

RAW数据的Demosaic算法&#xff08;去马赛克算法&#xff09;是图像处理中的关键技术&#xff0c;主要用于将图像传感器&#xff08;如数码相机、手机摄像头&#xff09;采集的原始马赛克数据恢复为完整的RGB三通道图像。 1. RAW数据的特性 马赛克结构&#xff1a;图像传感器…...

transformer注意力机制

单头注意力机制 import torch import torch.nn.functional as Fdef scaled_dot_product_attention(Q, K, V):# Q: (batch_size, seq_len, d_k)# K: (batch_size, seq_len, d_k)# V: (batch_size, seq_len, d_v)batch_size: 一次输入的句子数。 seq_len: 每个句子的词数。 d_mo…...

Ubuntu 22.04 更换 Nvidia 显卡后启动无法进入桌面问题的解决

原显卡为 R7 240, 更换为 3060Ti 后, 开机进桌面时卡在了黑屏界面, 键盘有反应, 但是无法进入 shell. 解决方案为 https://askubuntu.com/questions/1538108/cant-install-rtx-4060-ti-on-ubuntu-22-04-lts 启动后在开机菜单中(如果没有开机菜单, 需要按shift键), 进入recove…...

ROS机器人开发实践->机器人建模与仿真

前言&#xff1a; 这篇博客知识一个整体性的了解对于机器人建模和仿真&#xff0c;更多详细的细节&#xff0c;见 6.4.2 Xacro_语法详解 Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 一、整体框架 机器人模型分为两个部分具体的形状和插件。有了这个具体的形状…...

中国占全球工业机器人装机量的52%,国产机器人崛起加速洗牌,拆分机器人业务独立上市,软硬件协同增强,AI工业机械臂催生业务再增长

一、内部战略优化:聚焦核心业务与释放增长潜力 业务协同效应有限 ABB的机器人业务(全球市场份额第二)与集团其他业务(如电气化、过程自动化)的协同性较低。机器人业务专注于柔性制造和智能自动化,而其他业务更偏向能源效率和大型工业系统。分拆后,ABB集团可更聚焦于电气…...

C#森林中的兔子(力扣题目)

C#森林中的兔子(力扣题目) 题目介绍 森林中有未知数量的兔子。提问其中若干只兔子 “还有多少只兔子与你&#xff08;指被提问的兔子&#xff09;颜色相同?” &#xff0c;将答案收集到一个整数数组 answers 中&#xff0c;其中 answers[i] 是第 i 只兔子的回答。 给你数组…...

OSPF特殊区域

四种特殊区域 1、stub 2、完全stub 3、nssa 4、完全nssa 作用&#xff1a;用于优化OSPF的LSDB空间 stub&#xff1a; [R2-ospf-1-area-0.0.0.1]stub //配置一个区域为stub区域 只在ABR上配置的话会导致OSPF邻居关系断开&#xff0c;因为此时Option选项中Nbit和Ebit置位不一致所…...

深入理解 CICD 与 Jenkins 流水线:从原理到实践

前言&#xff1a;在当今数字化飞速发展的时代&#xff0c;软件开发行业的竞争日益激烈。为了能够快速响应市场需求&#xff0c;及时交付高质量的软件产品&#xff0c;开发团队们不断探索和采用新的开发模式与工具。CICD&#xff08;持续集成、持续交付 / 部署&#xff09;作为一…...

1.Vue自动化工具安装(Vue-cli)

目录 1.node.js 安装&#xff1a; 2 npm 安装 3 安装Vue-cli 4总结&#xff1a; 一般情况下&#xff0c;单文件组件&#xff0c;我们运行在 自动化工具vue-CLI中&#xff0c;可以帮我们编译单文件组件。所以我们在学习时一般需要在系统中先搭建vue-CLI工具 下面就是一些我…...

前端亮点:大文件上传技术详解及问题解析

大片文件上传 文件上传 大片文件上传需考虑问题 一、核心实现步骤 分片唯一标识计算 (优化比较时间) • Hash生成:使用SparkMD5或crypto.subtle.digest计算文件整体Hash(秒传依据)及分片Hash(断点续传依据)。 • 优化:通过Web Worker多线程计算,避免主线程阻塞(如…...

每日一题——最小测试用例集覆盖问题

最小测试用例集覆盖问题&#xff08;C语言实现&#xff09; 问题描述 假设我们有一系列测试用例&#xff0c;每个测试用例会覆盖若干个代码模块。 我们使用一个二维数组来表示这些测试用例的覆盖情况&#xff1a; 如果某个测试用例 i 能覆盖代码模块 j&#xff0c;则数组中…...

React 文章 分页

删除功能 携带路由参数跳转到新的路由项 const navigate useNavigate() 根据文章ID条件渲染...

【技术派后端篇】Redis实现统计计数

在互联网项目中&#xff0c;计数器有着广泛的应用场景。以技术派项目为例&#xff0c;诸如文章点赞数、收藏数、评论数以及用户粉丝数等都离不开计数器的支持。在技术派源码中&#xff0c;提供了基于数据库操作记录实时更新和基于 Redis 的 incr 特性实现计数器这两种方案&…...

NHANES指标推荐:RFM

文章题目&#xff1a;Higher relative fat mass was associated with a higher prevalence of gallstones in US adults DOI&#xff1a;10.1186/s12876-025-03715-3 中文标题&#xff1a;在美国成年人中&#xff0c;相对脂肪质量越高&#xff0c;胆结石患病率就越高 发表杂志&…...

嵌入式人工智能应用-第三章 opencv操作 4 灰度处理

嵌入式人工智能应用 嵌入式人工智能应用-第三章 opencv操作 4 灰度处理 嵌入式人工智能应用1 灰度处理2 算法2.1 均值方法2.2 最大值法2.3 分量法2.4 加权平均法&#xff08;Weighted Average Method&#xff09;2.5 系统自带方法 3 总结 1 灰度处理 图像灰处理即是将一幅彩色…...

AI Agent破局:智能化与生态系统标准化的颠覆性融合!

Hi&#xff01;好久不见 云边有个稻草人-个人主页 热门文章_云边有个稻草人的博客-本篇文章所属专栏~ 目录 一、引言 二、AI Agent的基本概念 2.1 定义与分类 2.2 AI Agent的工作原理 2.3 示例代码&#xff1a;AI Agent的基本实现 三、AI Agent在企业数字化转型中的应用 …...

UniFlash以串口方式烧录MSPM0G3507(无需仿真器)

材料&#xff1a;MSPM0G3507黑钢版&#xff0c;只要有UART的其他版本亦可&#xff08;PA14需接LED&#xff09; 下载软件&#xff1a;UniFlash 9.1.0.5175&#xff0c;网址&#xff1a;UNIFLASH 软件编程工具 | 德州仪器 TI.com.cn​​​​​​ 测试文件&#xff1a;MSPM0G30…...

坐标轴刻度QCPAxisTicker

一、QCPAxisTicker 概述 QCPAxisTicker 是 QCustomPlot 中控制坐标轴刻度生成和显示的基类&#xff0c;负责计算刻度位置和生成刻度标签。 二、主要派生类 类名描述QCPAxisTickerFixed固定步长的刻度生成器QCPAxisTickerLog对数坐标刻度生成器QCPAxisTickerPi专门显示π倍数…...

Spring Boot 版本与对应 JDK 版本兼容性

Spring Boot 版本与对应 JDK 版本兼容性 以下是 Spring Boot 主要版本与所需 JDK 版本的对应关系&#xff0c;以及长期支持(LTS)信息&#xff1a; 最新版本对应关系 (截至2024年) Spring Boot 版本发布日期支持的 JDK 版本备注3.2.x (最新)2023-11JDK 17-21推荐使用 JDK 173…...

【MySQL】MySQL的基础语法及其语句的介绍

1、基础语法 mysql -h【主机名】 -u【用户名】 -p //登录MySQL exit或quit; //退出MySQL show database; //查看MySQL下的所有数据库 use 【数据库名】; //进入数据库 show tables; //查看数据库下的所有表名 *MySQL的启动和关闭 &am…...

《汽车理论》第四章作业MATLAB部分

1.计算并绘制利用附着系数曲线和制动效率曲线 clc close all %空载(no load)-1 ;满载(full load)-2 m14080; m29290; hg10.845; hg21.170; L3.950; a12.100; a22.950; b1L-a1; b2L-a2; beta0.38; %利用附着系数与制动强度的关系曲线 z0:0.01:1; phi_f1L*beta.*z./(b1z*hg1);%前…...

SpringCloud实战

环境准备&#xff1a; 1. 一台虚拟机&#xff0c;部署好centos7操作系统、安装好docker 2. 使用docker安装mysql数据库且启动mysql容器 3. IDEA配置的JDK版本是11 4. 前端代码启动Nginx 一、单体架构和微服务的区别&#xff1f; 1. 单体架构 将业务的所有功能集中在一个项目中…...

Cribl 对Windows-xml log 进行 -Serialize-05

The Serialize Function Description​ The Serialize Function is designed to transform an events content into a predefined format. Steps - Adding a Serialize Function​ important Select the Add Function<...

鸿蒙ArkUI之布局实战,线性布局(Column,Row)、弹性布局(Flex)、层叠布局(Stack),详细用法

本文聚焦于ArkUI的布局实战&#xff0c;三种十分重要的布局&#xff0c;线性布局、弹性布局、层叠布局&#xff0c;在实际开发过程中这几种布局方法都十分常见&#xff0c;下面直接上手 线性布局 垂直布局&#xff08;Column&#xff09; 官方文档&#xff1a; Column-行列…...

缓存 --- 内存缓存 or 分布式缓存

缓存 --- 内存缓存 or 分布式缓存 内存缓存&#xff08;In-Memory Cache&#xff09;分布式缓存&#xff08;Distributed Cache&#xff09;内存缓存 vs 分布式缓存 内存缓存和分布式缓存是两种常见的缓存策略&#xff0c;它们在存储位置、访问速度和适用场景上有所不同。下面分…...

【Qt】QMainWindow类

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Qt 目录 一&#xff1a;&#x1f525; QMainWindow 概述 &#x1f98b; 菜单栏&#x1f380; 具体使用&#x1f380; 综合案例 &#x1f98b; 工具栏&#x1f98b; 状态栏&#x1f98b; 窗口布局&a…...

缓存 --- 缓存击穿, 缓存雪崩, 缓存穿透

缓存 --- 缓存击穿, 缓存雪崩, 缓存穿透 缓存击穿&#xff08;Cache Breakdown&#xff09;概念原理实际场景代码实现&#xff08;互斥锁方案&#xff09; 缓存雪崩&#xff08;Cache Avalanche&#xff09;概念原理实际场景代码实现&#xff08;随机过期时间&#xff09; 缓存…...

第五章 SQLite数据库:5、SQLite 进阶用法:ALTER 命令、TRUNCATE 操作、视图创建、事务控制和子查询的操作

1. SQLite ALTER 命令 SQLite 的 ALTER TABLE 命令允许在不完全重建表的情况下修改现有的表结构。通过 ALTER TABLE&#xff0c;您可以执行如重命名表名、添加新列等操作&#xff0c;但无法执行复杂的修改&#xff0c;如删除列或修改列的数据类型。 语法 重命名表 用于重命名…...

【2】Kubernetes 架构总览

Kubernetes 架构总览 主节点与工作节点 主节点 Kubernetes 的主节点&#xff08;Master&#xff09;是组成集群控制平面的关键部分&#xff0c;负责整个集群的调度、状态管理和决策。控制平面由多个核心组件构成&#xff0c;包括&#xff1a; kube-apiserver&#xff1a;集…...

【数据结构】红黑树

红黑树&#xff08; R e d B l a c k T r e e Red\ Black\ Tree Red Black Tree&#xff09;是一种自平衡二叉搜索树&#xff0c;也可以看作一种特化的 A V L AVL AVL 树&#xff08;通过颜色规则来实现自平衡功能&#xff09;&#xff0c;都是在进行插入和删除操作时通过特定…...