代理、正向代理与反向代理

news2024/12/22 9:18:29

一、代理

1.1 什么是代理

代理也被叫做网络代理,是一种比较特殊的网络服务,允许一个终端(通常指客户端)通过这个服务与另一个终端(通常指服务器端)进行非直接的连接。例如:一些网关、路由器等网络设备都具备网络代理的功能。代理服务有利于保障网络终端的隐私或者安全,可以在一定程度上阻止网络攻击(因为通过代理,可以隐藏真正的服务器端/客户端)。

1.2 代理服务器

代理服务器
左边和右边的电脑在通讯时候,需要经过中间的电脑中转,而中间的那部电脑就是代理服务器。

1.3 代理请求过程

代理请求过程
客户端首先根据代理服务器所使用的代理协议,与代理服务器创建连接,接着按照协议请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。

1.4 代理协议

此处的协议指的是网络传输协议。
主要是两种:
Socks
HTTP
网络传输协议在本篇就不做过多介绍。

二、正向代理

2.1 正向代理

代理
通常我们说的代理,都是指的正向代理。继续看这张图,你会发现,此处的代理服务器可以由客户端提供,也可以由服务器端提供。
当客户端主动使用代理服务器时,此时的代理叫正向代理。比如:一些网络代理工具(加速器/VPN…)

2.2 正向代理完整流程

正向代理时,由客户端发送对某一个目标服务器的请求,代理服务器在中间将请求转发给该目标服务器,目标服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。
使用正向代理时,客户端是需要配置代理服务的地址、端口、账号密码(如有)等才可使用的。
正向代理流程
通过上图可以看到,客户端并没有直接与服务器相连。正向代理隐藏了真实的客户端地址。可以很好地保护客户端的安全性。

2.3 正向代理的适用场景

  • 访问被禁止的资源(让客户端访问原本不能访问的服务器。可能是由于路由的原因,或者策略配置的原因,客户端不能直接访问某些服务器。为了访问这些服务器,可通过代理服务器来访问)
    • 突破网络审查
    • 再比如客户端IP被服务器封禁,可以绕过IP封禁
    • 也可以突破网站的区域限制
  • 隐藏客户端的地址(对于被请求的服务器而言,代理服务器代表了客户端,所以在服务器或者网络拓扑上,看不到原始客户端)
  • 进行客户访问控制
    • 可以集中部署策略,控制客户端的访问行为(访问认证等)
    • 记录用户访问记录(上网行为管理)
    • 内部资源的控制(公司、教育网等)
  • 加速访问资源
    • 使用缓冲特性减少网络使用率(代理服务器设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。)
  • 过滤内容(可以通过代理服务器统一过滤一些危险的指令/统一加密一些内容、防御代理服务器两端的一些攻击性行为)

三、反向代理

3.1 反向代理(Reverse Proxy)

服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知代理服务器的IP地址,而不知道在代理服务器后面的服务器集群的存在。
反向代理
反向代理整个流程:由客户端发起对代理服务器的请求,代理服务器在中间将请求转发给某一个服务器,服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

3.2 反向代理的适用场景

  • 负载均衡
    • 如果服务器集群中有负荷较高者,反向代理通过URL重写,根据连线请求从负荷较低者获取与所需相同的资源或备援。可以有效降低服务器压力,增加服务器稳定性
  • 提升服务器安全性
    • 可以对客户端隐藏服务器的IP地址
    • 也可以作为应用层防火墙,为网站提供对基于Web的攻击行为(例如DoS/DDoS)的防护,更容易排查恶意软件等
  • 加密/SSL加速:将SSL加密工作交由配备了SSL硬件加速器的反向代理来完成提供
  • 缓存服务,加速客户端访问
    • 对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务
  • 数据统一压缩
    • 节约带宽
    • 为网络带宽不好的网络提供服务
  • 统一的访问权限控制
  • 统一的访问控制
  • 突破互联网的封锁
  • 为在私有网络下(如局域网)的服务器集群提供NAT穿透及外网发布服务
  • 上传下载减速控制

四、正向代理与反向代理

4.1 正向代理与反向代理的区别

当前面的内容理解后,对于正向代理和反向代理的区别就很好理解了。
最核心的不同在于代理的对象不同。
正向代理是代理客户端,反向代理是代理服务器。
而根据这核心的区别,我们也可以记住:代理哪端便可以隐藏哪端。
也就是说:
正向代理隐藏真实客户端,反向代理隐藏真实服务端。

4.2 反向代理为什么叫反向代理

从我们用户的角度来看:
代理我们发出请求的客户端被称为正向代理。而代理我们访问的服务器,则被称为反向代理。

从代理结构的角度来看(代理服务器在两种代理中的作用均为收发请求与响应):
正向代理
客户端与代理服务器属于一个局域网(看图左边),称为正向代理。
反向代理
服务器端与代理服务器属于一个局域网时(看图右边),称为反向代理。

五、总结

最后,请记住:
正向代理为客户端服务。
反向代理为服务器端服务。

参考文章:https://www.zhihu.com/question/36412304/answer/2254739842

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言递归算法实现经典例题

一.递归 1.什么是递归 递归是一种编程技术,它通过在函数内部反复调用自身来解决问题。当一个程序调用自己时,这就称为递归调用。递归可以有助于简化某些算法的实现和理解。在递归过程中,每个调用都会将一些数据保存在栈上,直到递…

【HISI IC萌新虚拟项目】Package Process Unit模块整体方案·PART1

1.背景 网络中包是个重要概念,很多信息在网络中以包的形式传输。而传输介质容易受到外界环境干扰导致传输错误,因此需要在传输过程中进行数据校验、过滤等包处理。包处理和包转发是信息传输的重要处理方式,本芯片实现简单的包处理和包转发机制。 包处理过程中需要用到缓存…

神经网络:Zero2Hero 1 - Simple Language Model

Zero → \to → Hero : 1 实现了一个字符级中文语言模型,数据采用的是开源中文姓名数据集中的一部分,主要内容如下: 字符的预处理 统计频次计算字符对频次矩阵 实现一个简单的先验概率模型 从训练数据中计算字符的先验概率根据先验概率通过…

渗透测试--4.捕获和监听数据

目录 目录 1.监听捕获数据方法 2.kali监听捕获工具介绍 arpspoof arpspoof实战(同一局域网断网实战) driftnet 实战使用drifnet和工具捕获网络图片 1、扫描目标主机,开启ip转发 2、打开ettercap 3、进行arp欺骗: 4、使用drif…

Gap Hours,我在内卷和摆烂之间的折中选择

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 卷圈 运营 / SandLiu 卷圈 监制 / 姝琦 文案 / 粒粒 产品统筹 / bobo 场地支持 / 声湃轩天津录音间 一个名词解释: Gap Day,是工作和生活中为了从不好的状态中跳脱出来,享受了躺平…

技术支持内容

平台技术简介: 前端:采用Vue、uni-app等技术。 后端:采用Spring Boot 。 权限:采用Jwt,支持多终端认证系统。 邮箱: postmasterzhonghuisoft.cn 平台基础功能: 用户管理: 管理…

常数整数乘法优化

常数整数乘法优化 文章目录 常数整数乘法优化基于正则有符号数的常数整数乘法优化Example 1: 20 x 20x 20xExample 2: 153 x 153x 153xExample 3: 15 x 15x 15x正则有符号数编码 CSD二进制序列转CSD编码算法流程代码实现欢迎关注公众号【三戒纪元】 嵌入式机器学习或深度学习…

人工智能的机器人技术为啥那么强,对于未来意味着什么?

前言 人工智能技术的发展,推动了机器人技术的不断进步。机器人技术在工业、医疗、服务等领域发挥着越来越重要的作用。本文将详细介绍人工智能的机器人技术。 机器人技术的发展历程 机器人技术的发展可以追溯到20世纪50年代。当时,机器人主要用于工业生…

怎么给移动硬盘查错?移动硬盘查错能恢复数据吗

移动硬盘在长期使用或使用不当的情况下,可能会出现硬盘文件损坏或者出现坏道等问题,影响数据安全和文件操作。这时候,移动硬盘查错工具就派上用场了。它可以帮助用户发现移动硬盘中的问题,并且还可以对移动硬盘进行修复。 但是&a…

chatgpt赋能Python-python3_7怎么改颜色

Python3.7中如何改变颜色的方法 Python是一门广泛应用于各种领域的编程语言,其强大的数据分析能力和简单易用的语法得到了越来越多的开发者的青睐。在Python中,要想使文本在输出时带有颜色,可以使用ANSI转义序列进行操作。 什么是ANSI转义序…

国考省考行测:数量关系,消三法,比,分数,百分数,n倍

国考省考行测: 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国考省考最重要的还是申论和行测,所以大家认真准备吧,我讲一起屡屡申论和行测的重要知识点 遇到寒冬&am…

spring数据校验:Validation

目录 Spring Validation概述 通过Validator接口实现 Bean Validation注解实现 基于方法实现校验 实现自定义校验 Spring Validation概述 在开发中,我们经常遇到参数校验的需求,比如用户注册的时候,要校验用户名不能为空、用户名长度不超…

从眼中窥视:Google AI 模型如何通过眼睛预测你的年龄

新的模型可以通过分析眼部照片揭示衰老的秘密 近年来,谷歌一直在研究各种人工智能模型,可以分析眼睛(内部和外部)的图像并监测某些参数。正如之前提到的,开发能够从眼睛中提取信息的 AI 模型意味着能够以经济高效和无创…

Array-Deque-Queue等的区别

🔎Deque(双端队列): Deque 是 “double-ended queue” 的缩写,表示双端队列。它是一种可以在两端进行插入和删除操作的数据结构。你可以在队列的头部和尾部同时进行插入和删除操作。Deque 接口定义了这些操作的方法,如…

国际博物馆日|科技与文化的碰撞:大势智慧助力博物馆赋能美好生活

近年来,我国博物馆事业蓬勃发展,而科技与文博领域的深度融合,将继续成为博物馆事业高质量发展的助推器。作为连接过去、现在、未来的桥梁和新时代文化交流与传播的窗口,博物馆不仅是保护和传承人类文明的重要殿堂,也是…

网络优化干扰培训讲解

一、系统外干扰 1、信号放大器 1、特征:RB尖峰突起(类似于互调干扰,极少数会形成宽频干扰。信号放大器为目前FDD频段主要干扰源 2、影响范围:周边站点 3、干扰来源:用户私装信号放大器、黑直放站. 4、原因分析:放…

javaIO流之字节流

目录 1、字节输出流(OutputStream)2、FileOutputStream类2.1FileOutputStrea 的构造方法2.2FileOutputStream 写入字节数据2.3FileOutputStream实现数据追加、换行 3、字节流入流(InputStream)4、FileInputStream类4.1FileInputSt…

介绍自己的产品时,常犯的那些错

最近的一个轻咨询客户,在“全面提升组织产品能力”的项目中,正处于内部自学的“读书会”环节。 为了“用以致学”,而不是“学以致用”地读书,我给他们出了一道看起来很简单的题——介绍一下自己手头正在负责的产品。 前几天&#…

Java枚举

Java枚举 🍺1 背景及定义🍺🧃2 使用🧃🥤3 枚举优点缺点🥤🍵4 枚举和反射🍵🍷4.1 枚举是否可以通过反射,拿到实例对象呢?🍷 ☕️5 总结…

正负压力精密控制在隐形牙齿矫正器成型机中的应用

摘要:真空压力热成型技术作为一种精密成型工艺在诸如隐形牙套等制作领域得到越来越多的重视,其主要特点是要求采用高精度的正负压力控制手段来抵消重力对软化膜变形的影响以及精密控制成型膜厚度。本文提出了相应的改进解决方案,通过可编程的…