面试题整理1---正向代理和反向代理的含义及异同
面试题整理1---正向代理和反向代理的含义及异同
- 1. 正向代理 (Forward Proxy)
- 1.1 正向代理定义:
- 1.2 正向代理的工作流程:
- 1.3 正向代理的应用场景:
- 2. 反向代理 (Reverse Proxy)
- 2.1 反向代理的定义:
- 2.2 反向代理的工作流程:
- 2.3 反向代理的应用场景:
- 3. 正向代理和反向代理的异同
- 3.1 相同点:
- 3.2 不同点:
- 4. 示例场景
正向代理和反向代理都是代理服务器的一种形式,它们在网络中充当中间人的角色,但功能和应用场景有很大的不同。以下是它们的定义、作用和区别:
1. 正向代理 (Forward Proxy)
1.1 正向代理定义:
正向代理是为客户端(用户)服务的代理,它帮助客户端向目标服务器发送请求并获取资源。客户端需要知道代理服务器的地址,并通过它访问目标服务器。
1.2 正向代理的工作流程:
客户端 → 正向代理服务器 → 目标服务器 → 正向代理服务器 → 客户端
1.3 正向代理的应用场景:
- 访问受限资源:当客户端无法直接访问外部网络(如被防火墙阻挡)时,通过正向代理访问外部资源。
- 缓存:正向代理可以缓存常用资源,减少重复请求,提高访问速度。
- 隐藏客户端身份:正向代理可以隐藏用户的真实 IP,增强隐私保护。
2. 反向代理 (Reverse Proxy)
2.1 反向代理的定义:
反向代理是为服务器端服务的代理,它接收客户端的请求,然后将请求转发给后端的目标服务器,并将服务器的响应返回给客户端。客户端只需知道代理服务器的地址,不需要知道后端服务器的具体信息。
2.2 反向代理的工作流程:
客户端 → 反向代理服务器 → 后端服务器 → 反向代理服务器 → 客户端
2.3 反向代理的应用场景:
- 负载均衡:将客户端请求分发到多个后端服务器,均衡负载,提升服务性能。
- 安全性:隐藏后端服务器的真实地址,防止外部攻击,提供额外的安全层。
- SSL 卸载:代理服务器可以处理 SSL/TLS 加密请求,减轻后端服务器的负担。
- 缓存和压缩:代理服务器缓存静态内容或进行数据压缩,提高响应效率。
- 高可用性:如果某个后端服务器宕机,反向代理可以将流量自动切换到其他服务器,保证服务连续性。
3. 正向代理和反向代理的异同
3.1 相同点:
- 都是代理服务器,充当中间人角色,负责转发请求和响应。
- 都能隐藏一部分真实的信息(正向代理隐藏客户端,反向代理隐藏服务器)。
3.2 不同点:
特性 | 正向代理 | 反向代理 |
---|---|---|
服务对象 | 客户端 | 服务器 |
隐藏信息 | 客户端的真实 IP 地址 | 服务器的真实 IP 地址 |
使用场景 | 客户端绕过访问限制、匿名访问、缓存资源 | 负载均衡、隐藏服务器、SSL 卸载、缓存优化 |
请求方向 | 客户端通过代理访问目标服务器 | 客户端请求被代理转发到后端服务器 |
客户端配置需求 | 客户端需要配置代理地址 | 客户端无需感知代理的存在 |
4. 示例场景
-
正向代理:
- 公司内网的员工通过正向代理服务器访问互联网。
- 用户使用代理访问国外网站。
-
反向代理:
- Nginx 作为反向代理服务器,用于分发请求到多个后端 Web 服务器。
- CDN 服务(如 Cloudflare)将用户的请求代理到原始服务器,并缓存内容。
通过正向代理,客户端能突破访问限制,接触到外部资源;而通过反向代理,客户端可以透明地访问后端服务,提升性能和安全性。它们的用途不同,但原理类似,都是现代网络架构中常见的技术。
相关文章:
面试题整理1---正向代理和反向代理的含义及异同
面试题整理1---正向代理和反向代理的含义及异同 1. 正向代理 (Forward Proxy)1.1 正向代理定义:1.2 正向代理的工作流程:1.3 正向代理的应用场景: 2. 反向代理 (Reverse Proxy)2.1 反向代理的定义:2.2 反向代理的工作流程…...
记录学习《手动学习深度学习》这本书的笔记(五)
这一章是循环神经网络,太难了太难了,有很多卡壳的地方理解了好久,比如隐藏层和隐状态的区别、代码的含义(为此专门另写了一篇【笔记】记录对自主实现一个神经网络的步骤的理解)、梯度计算相关(【笔记】记录…...
鸿蒙调试打包(非正式打包)
文章目录 前言第一步:生成.p12和.csr文件第二步:申请证书的前置步骤第三步:申请证书 前言 HarmonyOS 应用打包后的文件为.app 格式, android 打包后的文件为.apk,IOS 打包后的文件为.apa HarmonyOS通过数字证书&#…...
Python中的容器化服务监控:结合Prometheus和Grafana实现高效监控与可视化
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在现代的DevOps和微服务架构中,容器化技术(如Docker)已成为主流的部署方式。然而,容器环境的动态特性使得服务监控和性能分析变得更加复…...
【大数据】-- 读放大和写放大
目录 一、定义 1. 读放大(Read Amplification) 定义 原因 优化方法 2. 写放大(Write Amplification) 定义 原因 优化方法 对比与联系 二、举例 1. Hadoop(HDFS) 读放大 写放大 2. Flink 读放大 写放大 3. Hive 读放大 写放大 4. Presto 读放大 写放…...
[工具升级问题] 钉钉(linux版)升级带来的小麻烦
本文由Markdown语法编辑器编辑完成。 1. 背景: 今日钉钉又发布了新的升级版本。由于我工作时使用的是Ubuntu 20.04版本,收到的升级推送信息是,可以升级到最新的7.6.25-Release版本。根据钉钉官方给出的历次更新版说明,这个新的版本…...
Maven学习(Maven项目模块化。模块间“继承“机制。父(工程),子项目(模块)间聚合)
目录 一、Maven项目模块化? (1)基本介绍。 (2)汽车模块化生产再聚合组装。 (3)Maven项目模块化图解。 1、maven_parent。 2、maven_pojo。 3、maven_dao。 4、maven_service。 5、maven_web。 6…...
Opencv之图像添加水印
一、实验原理 在图片处理领域,添加水印是一种常见的操作。通过叠加图像的方式,可以将水印无缝嵌入目标图像的指定位置。其基本原理包括以下步骤: 1、模板输入(掩膜生成): 将水印图片转换为灰度图…...
在线预约陪诊小程序
一、前言 随着社会老龄化加剧以及人们健康意识的提高,就医过程中的陪伴需求日益增长。许多患者在面对复杂的医院环境、繁琐的就医流程时,需要有人协助挂号、候诊、取药等,而家属可能因工作繁忙无法全程陪同。同时,异地就医的患者更…...
2024年9月CCF GESP Scratch图形化编程等级考试四级真题试卷
GESP 图形化四级试卷(A) (满分:100 分 考试时间:120 分钟) 一、单选题(共 10 题,每题 2 分,共 30 分) 1、2024 年 10 月 8 日,诺贝尔物理学奖“意…...
[免费]SpringBoot+Vue校园社团管理系统(优质版)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue校园社团管理系统(优质版),分享下哈。 项目视频演示 【免费】SpringBootVue校园社团管理系统(优质版) Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术的迅速发展&#x…...
NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址
使用 nmcli 命令创建 Wi-Fi 热点并设置固定 IP 地址 一、前言 在一些场景下,我们需要将计算机或嵌入式设备(例如 NVIDIA Orin NX)转换为 Wi-Fi 热点,以便其他设备(如手机、笔记本等)能够连接并使用该设备…...
Qt控件的盒子模型,了解边距边线和内容区
这篇专门讲讲一个控件在绘制时的视觉样式。我们平常在对控件设置样式时,需要设置控件的一些外边距,内边距,边线,还有文字内容,贴上图片等。那么对于一个控件,到底怎么实现这些设置的呢? 先看下面…...
深度学习基础--将yolov5的backbone模块用于目标识别会出现怎么效果呢??
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 yolov5网络结构比较复杂,上次我们简要介绍了yolov5网络模块,并且复现了C3模块,深度学习基础–yolov5网络结构简介&a…...
MySQL 根据 字段包含关键词进行分类
为了解决动态关键词匹配的需求,我们需要创建一个关键词表(keywords_table),其中存储关键词和对应的类别。以下是具体的步骤: 1. 创建关键词表 可以用以下 SQL 创建一个简单的关键词表: CREATE TABLE keyw…...
ssm-day04 mybatis
mybatis是一个持久层框架,针对的是JDBC的优化 简化数据库操作,能进行单表、多表操作,在这个框架下,需要我们自己写SQL语句 Mapper接口和MapperXML文件就相当于Dao和Dao层的实现 通常将xml文件放在resources包下 ,放在…...
soul大数据面试题及参考答案
如何看待数据仓库? 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。 从数据存储角度看,它整合了来自多个数据源的数据。这些数据源可能包括业务系统数据库、日志文件等各种结构化和非结构化数据。例如,在电商企业中,它会整合订…...
【SpringBoot中MySQL生成唯一ID的常见方法】
SpringBoot中MySQL生成唯一ID的常见方法 在Spring Boot中,为MySQL生成唯一ID有多种方式,每种方式都有其特定的概念、优越点和使用场景。以下是详细的说明和代码示例: UUID 概念: UUID(Universally Unique Identifier࿰…...
在 Windows 环境下将 Vue 项目打包并压缩为 .zip 文件的批处理脚本
以下是一个 Windows 批处理脚本,完成以下任务: 运行 npm run build 打包 Vue 项目。使用 7-Zip 将生成的 dist 目录压缩成 ZIP 文件。 脚本内容 echo off:: 切换命令行编码为 UTF-8 chcp 65001 >nul:: 设置环境变量 set PROJECT_DIRC:\path\to\you…...
ubuntu上更改ext4格式的硬盘为 windows的 NTFS 格式参考
1. ubuntu上安装 sudo apt-get install gparted 2. 参考如下,下面是转换后的样例。 3.windows上添加识别新硬盘参考 先在设备管理器中 找到下面 磁盘管理 如下:找到类似下面的磁盘2 查看相关信息 右键可以新建卷和格式化,下面是已经新建…...
Qt WORD/PDF(二)使用 QtPdfium库实现 PDF操作、打印等
关于QT Widget 其它文章请点击这里: QT Widget GitHub 源码: QWidgetLearningPro (暂未更新) 姊妹篇: Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF(二)使用 QtPdfium库实现 …...
信息化基础知识——数字政府(山东省大数据职称考试)
大数据分析应用-初级 第一部分 基础知识 一、大数据法律法规、政策文件、相关标准 二、计算机基础知识 三、信息化基础知识 四、密码学 五、大数据安全 六、数据库系统 七、数据仓库. 第二部分 专业知识 一、大数据技术与应用 二、大数据分析模型 三、数据科学 数字政府 大数…...
使用winscp从windows访问Ubuntu进行文件传输
Ubuntu 系统上的准备工作 • 安装 SSH 服务器: 确保 Ubuntu 系统上已经安装了 SSH 服务器。如果没有安装,可以使用以下命令安装: sudo apt update sudo apt install openssh-server • 启动 SSH 服务: 确保 SSH 服务正在运行&a…...
【返璞归真】score检验:似然比的得分检验(Likelihood Ratio Score Test)
Score检验(Score Test)是一种用于假设检验的方法,特别是在统计建模中,常用于估计模型参数时检验某个假设是否成立。它的全名是“似然比的得分检验”(Likelihood Ratio Score Test),通常用于大样…...
使用skywalking,grafana实现从请求跟踪、 指标收集和日志记录的完整信息记录
Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的开源项目, 2017年12月SkyWalking成为Apache国内首个个人孵化项目, 2019年4月17日SkyWalking从Apache基金会的孵化器毕业成为顶级项目, 目前SkyWalking支持Java、 .Net、 Node.js、…...
蓝桥杯刷题——day1
蓝桥杯刷题——day1 题目一题干题目解析代码 题目二题干题目解析代码 题目一 题干 给定一个字符串 s ,验证 s 是否是 回文串 ,只考虑字母和数字字符,可以忽略字母的大小写。本题中,将空字符串定义为有效的 回文串 。 题目链接&a…...
ORACLE RAC ADG备库报错ORA-04021: timeout occurred while waiting to lock object
问题:核心的灾备 RAC ADG 备库,这两天频繁重启,并且报如下错误,通过查看MOS,发现是个BUG ADG备库的ALERT错误日志如下: Errors in file /u01/app/oracle/diag/rdbms/hxxxsz/hxxxsz1/trace/hxxxsz1_lgwr_69…...
虚拟机Ubuntu以及pwn的工具安装
之前pwn入门在kali上装了,师兄说用Ubuntu会比kali好得多,更有利于pwn的学习,本着少走弯路的想法我就决定装一个,再把工具什么的配了 一、Ubuntu的安装 参考博客及镜像来源:VMware虚拟机安装Ubuntu教程(超详细)_vmwar…...
MeiliSearch:一款轻量级开源搜索引擎
Meilisearch 是由 Meili (一家总部位于法国的软件开发公司)创建的搜索引擎,目前在 Github 上有 47.9k stars。 Meillisearch 具备以下特色功能(ChatGPT-4o 翻译): 混合搜索:结合语义搜索和全文…...
数据库入门
基本概念 数据库:DataBase简称DB,是一个用于存储和管理数据的仓库。 就像我们每天访问的网站Bilibili,OA、ERP和CRM等内部管理系统,以及我们每天使用的腾讯新闻和Tiktok应用程序一样,我们看到的数据实际上存储在数据库…...
WebGIS城市停水及影响范围可视化实践
目录 前言 一、相关信息介绍 1、停水信息的来源 2、停水包含的相关信息 二、功能简介 1、基础小区的整理 2、停水计划的管理 三、WebGIS空间可视化 1、使用到的组件 2、停水计划的展示 3、影响小区的展示 4、实际效果 四、总结 前言 城市停水,一个看似…...
【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化
目录 序列化保存C# 代码示例, 方式1 :C# 代码示例, 方式2 : 反序列化加载C# 代码示例, 方式1:C# 代码示例, 方式2: **如何序列化自定义属性**序列化和反序列化都存在的一个问题解决方式 图表是否已修改&…...
#思科模拟器通过服务配置保障无线网络安全Radius
演示拓扑图: 搭建拓扑时要注意: 只能连接它的Ethernet接口,不然会不通 MAC地址绑定 要求 :通过配置MAC地址过滤禁止非内部员工连接WiFi 打开无线路由器GUI界面,点开下图页面,配置路由器无线网络MAC地址过…...
Repo管理
文章目录 前言Repo介绍清单仓库清单仓库的组成 初始化Repo同步远程仓库Repo实际应用 前言 我们知道,Git是用来管理某一个仓库,那当一个项目用到了多个仓库时,怎么来同步管理这些仓库呢?这个时候就可以引入Repo管理。 Repo介绍 …...
代码随想录算法训练营第四十八/九天 | 图 | 深度搜索 | 广度搜索
Day 48 49 总结 自己实现中遇到哪些困难今日收获,记录一下自己的学习时间 11:40 - 14:3012:30 - 13:30, 14:45 - 17:10 图论 深度收缩 & 广度搜索 并查集 最小生成树 拓扑排序 最短路径算法 图论基础 图 二维空间里,多个点之间相互连接图的…...
JavaEE初阶——多线程(线程安全-锁)
复习上节内容(部分-掌握程度不够的) 加锁,解决线程安全问题。 synchronized关键字,对锁对象进行加锁。 锁对象,可以是随便一个Object对象(或者其子类的对象),需要关注的是ÿ…...
搭建大语言模型
安装和配置Ollama 首先在官网上下载Ollama,同时支持window,linux,macos系统。 下载下来是一个压缩包,直接解压缩即可,然后点击安装程序开始安装。 linux下载 执行以下命令,即可自动下载安装,…...
QT6 Socket通讯封装(TCP/UDP)
为大家分享一下最近封装的以太网socket通讯接口 效果演示 如图,界面还没优化,后续更新 废话不多说直接上教程 添加库 如果为qmake项目中,在.pro文件添加 QT network QT core gui QT networkgreaterThan(QT_MAJOR_VERS…...
Linux中 vim 常用命令大全详细讲解
文章目录 前言一、Vim 基本操作 🕹️1.1 打开或创建1.2 退出编辑1.3 模式切换 二、Vim 光标移动命令 ↕️2.1 基本移动2.2 行内移动2.3. 单词移动2.4. 页面移动2.5. 行跳转 三、Vim 文本编辑命令 📋3.1 插入和删除3.2 复制、剪切与粘贴3.3 替换与修改 四…...
vs 调试
常用: 调试->窗口-> 断点 监视 自动窗口 局部变量 调用堆栈 内存 反汇编(也可以右键,转到反汇编) 寄存器 快捷键: F5:启用调试,经常用来跳到下一个断点处 F9创建断点和取消断点。断点的重要作用&…...
使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构(未做共享存储版)
文章目录 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构Redis 主从架构部署 (1.yaml)Redis Sentinel 部署 (2.yaml)Sentinel 服务暴露 (3.yaml)部署步骤总结 使用 Kubernetes 部署 Redis 主从及 Sentinel 高可用架构 本文将详细介绍如何在 Kubernetes 中部署 Redis …...
PLC网关,plc远程通信 —— 跨越距离远程控制运维升级
在日新月异的工业4.0时代,智能化、网络化已成为制造业转型升级的关键词。其中,PLC(可编程逻辑控制器)作为工业自动化控制的核心设备,其远程通信技术的突破,正引领着一场前所未有的工业变革。今天࿰…...
MySQL的历史和地位
秋招之后,开始深入学习后端开发知识啦。把学到的东西分享给大家最开心啦。就从MySQL开始吧。 首先说一下MySQL的历史和地位。主要是看一下我们为什么要学习,而不是说让我们学什么我们就学什么。 地位 这张图是我从DB-Engines截取的2024年12月最新的数据…...
Day12 洛谷 1320+1152+1615
零基础洛谷刷题记录 Day01 2024.11.18 Day02 2024.11.25 Day03 2024.11.26 Day04 2024.11.28 Day05 2024.11.29 Day06 2024 12.02 Day07 2024.12.03 Day08 2024 12 05 Day09 2024.12.07 Day10 2024.12.09 Day11 2024.12.10 Day12 2024.12.14 文章目录 零基础洛谷刷题记录1320&…...
四十六:如何使用Wireshark解密TLS/SSL报文?
TLS/SSL是保护网络通信的重要协议,其加密机制可以有效地防止敏感信息被窃取。然而,在调试网络应用或分析安全问题时,解密TLS/SSL流量是不可避免的需求。本文将介绍如何使用Wireshark解密TLS/SSL报文。 前提条件 在解密TLS/SSL报文之前&…...
【网络安全设备系列】7、流量监控设备
0x00 定义: 网络流量控制是一种利用软件或硬件方式来实现对电脑网络流量的控制。它的最主要方法,是引入QoS的概念,从通过为不同类型的 网络数据包标记,从而决定数据包通行的优先次序。 0x01 类型: 流控技术分为两种: 一种是…...
SpringCloud无介绍快使用,sentinel注解@SentinelResource的基本使用(二十三)
TOC 问题背景 从零开始学springcloud微服务项目 注意事项: 约定 > 配置 > 编码IDEA版本2021.1这个项目,我分了很多篇章,每篇文章一个操作步骤,目的是显得更简单明了controller调service,service调dao默认安装ngi…...
vue3 父组件调用子组件 el-drawer 抽屉
之前 Vue3 只停留在理论,现在项目重构,刚好可以系统的实战一下,下面是封装了一个抽屉表单组件,直接在父组件中通过调用子组件的方法打开抽屉: 父组件: <template><div id"app"><…...
JVM运行时数据区内部结构
VM内部结构 对于jvm来说他的内部结构主要分成三个部分,分别是类加载阶段,运行时数据区,以及垃圾回收区域,类加载我们放到之后来总结,今天先复习一下类运行区域 首先这个区域主要是分成如下几个部分 下面举个例子来解释…...
luckysheet与superslide冲突解决
[现象]控制台报错、界面无法操作 $是jquery。查看源码,发现mousewheel方法来自插件mousewheel,luckysheet初始应该会将mousewheel挂载在jquery上。 在控制台打印jquery取dom及其方法,结果如下: 不存在mousewheel方法,…...