qyb*_*302 2914
以前的答案是准确的,但也许太简洁了.我会尝试添加一些例子.
首先,"代理"一词描述了代表其他人行事的某人或某事.
在计算机领域,我们谈论的是代表另一台计算机的一台服务器.
出于可访问性的目的,我将讨论限制在Web代理中 - 但是,代理的概念不仅限于网站.
大多数关于Web代理的讨论都是指被称为"转发代理"的代理类型.
在这种情况下,代理事件是"转发代理"代表原始被请求者从另一个网站检索数据.
例如,我将列出连接到互联网的三台计算机.
通常,人们可以直接连接 X --> Z.
但是,在某些情况下,Y --> Z代表X哪个链更好,如下:X --> Y --> Z.
这是转发代理服务器的(非常)部分使用列表.
1)X无法直接访问Z,因为
a)对X网络连接具有管理权限的人决定阻止对网站的所有访问Z.
b)管理员Z已被阻止X.
例子:
Z的管理员注意到来自X的黑客攻击尝试,因此管理员决定阻止X的IP地址(和/或netrange).
Z是一个论坛网站. X是垃圾论坛.Z阻挡X.
在本例中,我将列出连接到互联网的三台计算机.
通常,人们可以直接连接 X --> Z.
但是,在某些情况下,管理员最好Z限制或禁止直接访问并强制访问者首先通过Y. 因此,和以前一样,我们Y --> Z代表的数据被检索X,链接如下:X --> Y --> Z.
与"转发代理"相比,这次的不同之处在于,这次用户X不知道他正在访问Z,因为用户X只看到他正在与之通信Y.
服务器Z对客户端不可见,只有Y外部可见反向代理.反向代理不需要客户端(代理)配置.
客户X认为他只与Y(X --> Y)进行通信,但现实是Y转发所有通信(X --> Y --> Z再次).
在上述场景中,Z有能力选择Y.
Nis*_*ant 374
我发现这个图非常有用.它只显示了通过Internet从客户端到服务器的__CODE__vs __CODE__代理设置的体系结构.此图片将帮助您更好地了解qyb2zm302的帖子和其他帖子.
您还可以观看这个从视频中__CODE__的__CODE__彼得·席尔瓦.
图片来源:Quora.创建此图表的人员的所有信用.
它让我想起了经典的谚语:
一张图片价值1000字.
Pro*_*gun 216
qyb2zm302的答案很好地详述了代理的应用程序,但在正向和反向代理之间的基本概念上滑倒了.对于反向代理,X - > Y - > Z,X知道Y而不是Z,而不是相反.
http://www.jscape.com/blog/bid/87783/Forward-Proxy-vs-Reverse-Proxy非常清楚地解释了正向和反向代理之间的区别.
代理只是沟通的中间人(请求+响应).客户端< - >代理< - >服务器
客户端代理:(客户端< - >代理) < - >服务器
代理代表客户行事.客户了解链中涉及的所有3台机器.服务器没有.
服务器代理:客户端< - > (代理< - >服务器)
代理代表服务器行事.客户只知道代理.服务器知道整个链.
在我看来,正向和反向只是令人困惑的,客户端和服务器代理的视角相关的名称.我建议放弃前者用于后者,以便进行明确的沟通.
当然,为了使问题进一步复杂化,并非每台机器都只是客户端或服务器.如果上下文中存在歧义,则最好明确指定代理所在的位置以及它所通过的通信.
Mar*_*ari 129
一些图可能有所帮助:
转发代理

反向代理

ben*_*enc 71
差异主要在于部署.Web转发和反向代理都具有相同的底层功能,它们接受各种格式的HTTP请求请求,并通常通过访问源或联系服务器来提供响应.
功能齐全的服务器通常具有访问控制,缓存和一些链接映射功能.
转发代理是通过配置客户端计算机访问的代理.客户端需要协议支持代理功能(重定向,代理身份验证等).代理对用户体验是透明的,但对应用程序则不透明.
反向代理是作为Web服务器部署的代理,其行为类似于Web服务器,但不是在本地编写来自程序和磁盘的内容,而是将请求转发到源服务器.从客户端的角度来看,它是一个Web服务器,因此用户体验是完全透明的.
事实上,对于不同的客户群,单个代理实例可以同时作为前向和反向代理运行.
这是简短版本,我可以澄清人们是否想发表评论.
Dim*_*mos 59
代理:它代表客户提出请求.因此,服务器将响应返回给代理,代理将响应转发给客户端.事实上,服务器永远不会"学习"客户端是谁(客户端的IP),它只会知道代理.但是,客户端肯定知道服务器,因为它基本上格式化了发往服务器的HTTP请求,但它只是将它交给代理.
反向代理:它代表服务器接收请求.它将请求转发给服务器,接收响应,然后将响应返回给客户端.在这种情况下,客户端永远不会"学习"谁是实际的服务器(服务器的IP)(有一些例外),它只会知道代理.服务器将会或将不会知道实际的客户端,具体取决于反向代理的配置.
Ign*_*ams 38
代理服务器将传出的网络请求代理(并且可选地高速缓存)到因特网上的各种不一定相关的公共资源.反向代理捕获(并可选地缓存)来自Internet的传入请求,并将它们分发到各种内部私有资源,通常用于高可用性目的.
Nak*_*oto 27
Cloudflare有一篇很棒的文章,图片详细解释了这一点.
请点击此处:https: //www.cloudflare.com/learning/cdn/glossary/reverse-proxy/
JSO*_*C11 26
代理(转发代理): 当LAN上的计算机连接到访问Internet的代理服务器时.好处包括,只有服务器暴露在互联网上.外面的人无法直接访问计算机.转发代理可以通过缓存下载来改善用户的互联网访问.它们还可用于限制对某些站点的访问.此外,只有代理服务器需要公共地址,而不是连接到它的客户端.
反向代理: 反向代理与正向代理相反.相反,它代表连接的服务器充当代理.用户不是直接访问远程服务器,而是通过反向代理并从那里定向到相应的服务器.只有反向代理才需要SSL证书,只需要一个公共IP地址,它可以处理传入请求的负载平衡,以增强整体用户体验.
图像来源:docs.microsoft.com
Chr*_*ton 11
虽然从apache的角度来看我的理解是代理意味着如果站点x代理站点y,那么x的请求返回y.
反向代理意味着调整y的响应,以便对y的所有引用都变为x.
这样用户就无法判断是否涉及代理...
小智 10
按照我的理解..........
首先,众所周知,代理意味着"代表他人的权力".现在有两件事正向和反向代理.
FORWARD PROXY假设你想要访问"谷歌"和"谷歌"反过来将有n个服务器来响应该特定请求.
现在,在这种情况下,当您从谷歌请求某些内容并且您不希望谷歌查看您的IP地址时,您将使用转发代理,如下所述.
甲----->乙----->Ç
现在你在A通过B发送请求,所以C会认为请求来自B,而不是A.这样你就可以防止你的客户IP不暴露在外面.
反向代理.现在在这种情况下,为了让您了解我们将采用相同的转发代理案例.在这里,您已经请求了google的内容,而google又会将一个请求发送到应用服务器或其他代理服务器以获取响应.所以这些事情将如下所述发生.
甲----->乙----->Ç
__PRE__
A <----- B <----- C从上图可以看出,请求已从B发送到C,而不是从A.然后从C发送一个请求发送到D.同样,响应将从D转到C然后转到B和A.
上图说明了其唯一的上下文,尽管两个代理的行为方式相同,但客户端代理隐藏了客户端信息,而服务器端代理将隐藏服务器端信息.
如果您认为上述说明有误,请发表评论.
代理服务器(也称为正向代理)和反向代理服务器之间的区别取决于参考点。
从技术上讲,两者完全相同。两者都有相同的目的,即代表源将数据传输到目的地。
区别在于“代理服务器代表谁/代理服务器代表谁?”
如果代理服务器代表最终用户将请求转发到互联网服务器(例如:大学学生通过大学代理服务器访问互联网),则该代理称为“转发代理”或简称为“代理”。
如果代理服务器代表服务器响应传入请求,则该代理称为“反向代理”,因为从最终用户的角度来看,它在相反方向上工作。
反向代理的一些示例:
转发代理的使用:
反向代理的使用:
如果没有代理
从客户端和服务器端看是一样的:
客户端 -> 服务器
代理
从客户端:
客户端 -> 代理 -> 服务器
从服务器端:
客户端 -> 服务器
反向代理
从客户端:
客户端 -> 服务器
从服务器端:
客户端 -> 代理 -> 服务器
所以我想如果它是由客户端用户设置的?它被称为代理?如果它由服务器管理器设置,则它是一个反向代理。
因为设置的目的和原因不同,他们处理数据的方式不同,使用的软件也不同。
User side | Server side
client <-> proxy <--> reverse_proxy <-> real server
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
548342 次 |
| 最近记录: |