代理服务器和反向代理服务器之间的区别是什么?
当前回答
转发代理授予客户端匿名性(即,思考Tor)。
反向代理授予后端服务器匿名性(即,认为DMZ后面的服务器)。
其他回答
转发代理授予客户端匿名性(即,思考Tor)。
反向代理授予后端服务器匿名性(即,认为DMZ后面的服务器)。
我从Apache的角度理解,代理意味着如果站点x代理站点y,那么请求x返回y。
反向代理意味着对y的响应进行调整,以便所有对y的引用都变为x。
因此,用户无法判断是否涉及代理。。。
前面的大多数答案都是好的,但在我看来,没有一个答案能很好地解决区分两者的“反向”问题。要做到这一点,需要给出某种方式来可视化本质上相同的事物(代理)的“反向”性质,并且需要以一种很好的抽象方式来给出。
代理(隐式“转发代理”)将多个本地客户端连接到任意一个远程服务器:
c--
|--p--s
c--
反向代理将多个本地服务器连接到任何一个远程客户端(请注意布局如何反向):
s--
|--p--c
s--
这是一个角度问题,真正正确地理解这个概念需要抽象出非必要的(特定概念的)细节,尽管这些细节在涉及代理操作的语用学时可能非常重要。这些细节包括这样一个事实:在这两种场景中,现实是多个客户端连接到多个服务器,客户端和服务器可能不是真正的本地或远程,互联网云位于何处,或者客户端和服务器之间存在什么样的可见性。
一对简单的定义是:
转发代理:代表请求者(或服务使用者)
反向代理:代表服务/内容生产者行事。
从用户的角度看:向代理或反向代理服务器发送请求时:
proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么
反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。