什么是正向代理和反向代理

article/2025/9/4 19:05:01

什么是正向代理和反向代理

  • 1. 正向代理
  • 2. 反向代理
  • 3. 两者的区别

1. 正向代理

正向代理隐藏真实客户端

正向代理,就是一个位于客户端和原始服务器之前的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并且指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端,客户端才能使用正向代理。

在这里插入图片描述

比如我们要去访问某个网站,我们直接访问不通,那么我们就可以找一个代理服务器为我们服务,我们通过代理服务器请求到这个网站。对于这个网站而言他只知道有一个服务器访问了自己,并不知道你访问了他。
在这里插入图片描述

再举一个简单的例子告诉你什么是正向代理:
假设A和B是同学,但平时并不是很熟,A向B借钱,被B拒绝了。
此时A联系了C,C是A的好朋友,C和B也很熟。
C向B借了钱并且给了A。
此时A拿到了B的钱,但B并不知道他的钱借给了A。
这时B同学扮演了一个非常关键的角色,就是代理,也可以说是正向代理
即就是隐藏了真实的客户端

在这里插入图片描述

正向代理的过程,隐藏了真实的客户端。客户端请求的服务都被代理服务器代替来请求

2. 反向代理

反向代理隐藏真实服务端

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

反向代理方式是指以代理服务器来接收internet网上的连接请求,然后将请求转发给内部网络上的服务器,并从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个节点服务器。

在这里插入图片描述

简单举例什么是反向代理:
我们平时访问百度时,直接访问www.baidu.com。
它背后可能有成千上万的服务器为我们服务,但具体是哪一台为我们服务,我们并不知道,也没必要知道。
我们只需要知道反向代理服务器是谁就可以(只要达到目的就可以了)。
www.baidu.com就是我们的反向代理服务器,它会把我们的请求发送到真实的服务器那里去。
即隐藏真实的服务端
Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

在这里插入图片描述

3. 两者的区别

两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端

在这里插入图片描述

正向代理中,proxy和client同属一个LAN,对server透明;
反向代理中,proxy和server同属一个LAN,对client透明。
实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理。


http://chatgpt.dhexx.cn/article/8SxLqeIg.shtml

相关文章

nginx--正向代理、反向代理及负载均衡(图解+配置)

目录 学习背景一、代理服务二、正向代理1.1 什么是正向代理?1.2 如何实现nginx正向代理?1.3 客户端访问(验证正向代理) 二、反向代理2.1 什么是反向代理?2.2 nginx实现反向代理 三、负载均衡3.1 什么是负载均衡&#x…

正向代理和反向代理详解(纯小白必看 最好懂的白话文教程)

概要 习惯性的bb几句 本文主要介绍正向代理和反向代理的区别,如何区分,各自的好处,还有一些应用场景 主要是白话文的内容,不会有太多专业术语,主要是面向纯小白,做个解疑, 部分地方稍微不严谨&…

nginx代理(正向代理和反向代理)

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端(目的是为了保护客户端…

反向代理是什么意思?正向代理和反向代理的区别是什么?

一文说清楚正向代理与反向代理的区别 什么是正向代理?什么是反向代理?它们的区别是什么?看完本文就清楚了… 首先,从字面上理解,代理的意思是代替办理,就是一方委托另一方办事,在计算机网络的世…

正向代理和反向代理有什么区别?什么是正向代理?什么是反向代理?正向代理和反向代理详解。

一、正向代理: 当用户想访问某一网址时,用户先访问代理服务器,然后由代理服务器向目标网址发送请求最终将数据返回代理服务器,最后代理服务器将数据返回给用户这一过程我们称之为正向代理。 正向代理它代理了客户端,相…

正向代理和反向代理的区别

套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术。常用的代理技术分为正向代理、反…

详解正向代理与反向代理

1.正向代理 1.1 概念 正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求&#xff0…

二叉树-翻转二叉树

题目 思路BFS 使用BFS遍历的时候交换 只需要对原有的BFS遍历时加上交换的代码即可(老三行)。 public TreeNode invertTree(TreeNode root) {public TreeNode invertTree(TreeNode root) {//root为空的情况要进行排除否则会在交换时出现空指针异常if(r…

力扣周赛 313 反转二叉树的奇数层(dfs镜像遍历 or bfs提取层节点)

题意: 对于一颗给定的二叉树,我们的任务是反转它的所有奇数层的节点的权值 val(根节点所在层为第 0 层),操作完后返回根节点 root。 思路: 思路一: dfs 镜像遍历:左子树按照左中…

二叉树左右子树的翻转

翻转一个二叉树,直观上看,就是把二叉树的每一层左右顺序倒过来。比如问题中的例子,第三层1-3-6-9经过变换后变成了9-6-3-1,顺序反过来就对了。 再仔细观察一下,对于上面的例子,根节点(root&…

算法-树-反转二叉树

问题 Write a function that takes in a Binary Tree and inverts it. In other words, the function should swap every left node in the tree for its corresponding (mirrored) right node. Each Binary Tree node has a value stored in a property called “value” and …

算法_二叉树_翻转二叉树

文章目录 翻转二叉树1.解法2.总结算法 翻转二叉树 leetcode链接 1.解法 解法思路: 想把二叉树翻转,其实仔细一看,就是把每个二叉树的节点的左右孩子翻转,这样总体效果就是把整个二叉树翻转了。 所以只需要通过一种遍历手段把…

Java 求解翻转二叉树

文章目录 一、题目二、题目分析三、递归法四、非递归法五、层序遍历六、总结一、题目 翻转一棵二叉树。 二、题目分析 题目要求翻转二叉树,其实只需要把每一个节点左右孩子交换(孩子下面的节点是一起交换的)即可 题目使用前序遍历和后序遍历都可,但是中序遍历不可以,因…

【LeetCode 6182 反转二叉树的奇数层】

题目描述 给你一棵 完美 二叉树的根节点 root ,请你反转这棵树中每个 奇数 层的节点值。 例如,假设第 3 层的节点值是 [2,1,3,4,7,11,29,18] ,那么反转后它应该变成 [18,29,11,7,4,3,1,2] 。反转后,返回树的根节点。 完美 二叉…

js 反转二叉树

什么是反转二叉树 二叉树的每个结点至多有两颗子树,不存在大于2个的节点,二叉树有左右之分,次序不能颠倒 初始数据 let list {id: "4",left: {id: "2",left: {id: "1",left: null,right: null,},right: {id: …

层序遍历,反转二叉树,对称二叉树

1.层序遍历 leetcode 一层层遍历二叉树 &#xff0c; 是广度优先搜索 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue< TreeNode* > que;vector < vector < int > > result;if ( root NULL ) return result…

力扣226:反转二叉树

翻转二叉树 题目思路①思路①代码思路②思路②代码总结 题目 给你一颗二叉树的根节点root&#xff0c;请你翻转该二叉树&#xff0c;并且返回其根节点。 思路① 如何判定二叉树是否翻转&#xff1f; 左右子树需要交换&#xff0c;左右子树内部的左右子节点也需要交换位置。…

翻转二叉树-python

leetCode第226题 翻转二叉树 链接&#xff1a;https://leetcode-cn.com/problems/invert-binary-tree 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,…

iOS实现反转二叉树(前序遍历二叉树)

题目: Input: Output: 首先分析下这个二叉树,从上往下看发现这个树是把树上的数据进行了交换,但是仔细一看发现最后一排的1-3反转过去后变成了3-1.所以得出结论,这道题是左右子树进行了交换,用函数递归就能很容易实现了. ## OC版本 声明节点属性&#xff1a; #import &…

二叉树翻转实例

1.问题描述 Invert a binary tree.For example: to Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off. 问题来源于Leetcode https://leetcode.com/problems/invert-binary-tree/ 2.问题…