代理服务器和反向代理服务器之间的区别是什么?


当前回答

从用户的角度看:向代理或反向代理服务器发送请求时:

proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么

反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。

其他回答

根据我的理解。。。

首先,众所周知,代理意味着“代表他人的权力”。现在有两件事,正向代理和反向代理。

转发代理服务器

假设您想访问“Google”,那么“Google”将有n个服务器来响应特定请求。

现在,在这种情况下,当您向Google请求某些内容,并且不希望Google看到您的IP地址时,您将使用转发代理,如下所述。

A.→ B→ C

现在你是A,通过B发送请求。所以C会认为请求来自B,而不是A。通过这种方式,你可以防止客户端的IP地址暴露在外部世界。

反向代理

现在,在这种情况下,为了让您理解,我们将采用转发代理的相同情况。在这里,你已经向谷歌请求了一些东西,然后谷歌会将一个请求发送到应用服务器或另一个代理服务器以获得响应。因此,这些事情将发生如下所述。

A.→ B→ C

C→ D

C← D

A.← B← C

从上图中,您可以看到一个请求已从B发送到C,而不是从a发送到C。然后从C将有一个请求发送到D。类似地,响应将从D发送到C然后发送到B和a。

上图表明,尽管两个代理的行为方式相同,但重要的只是上下文,但客户端代理隐藏客户端信息,而服务器端代理将隐藏服务器端信息。

让我们考虑一下服务的目的。

转发代理:

代理帮助用户访问服务器。

在反向代理中:

代理帮助用户访问服务器。

在后一种情况下,受代理帮助的人不再是用户,而是服务器,这就是我们称之为反向代理的原因。

我从Apache的角度理解,代理意味着如果站点x代理站点y,那么请求x返回y。

反向代理意味着对y的响应进行调整,以便所有对y的引用都变为x。

因此,用户无法判断是否涉及代理。。。

代理服务器将传出的网络请求代理(并可选地缓存)到因特网上各种不一定相关的公共资源。反向代理捕获(并可选地缓存)来自Internet的传入请求,并将其分发到各种内部专用资源,通常用于高可用性目的。

从用户的角度看:向代理或反向代理服务器发送请求时:

proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么

反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。