代理服务器和反向代理服务器之间的区别是什么?
当前回答
代理(转发代理):
当LAN上的计算机连接到访问Internet的代理服务器时。好处包括只将服务器暴露在Internet上。外面的人无法直接访问计算机。转发代理可以通过缓存下载来改善用户的Internet访问。它们还可用于限制对某些网站的访问。此外,只有代理服务器需要公共地址,而不是连接到它的客户端。
反向代理:
反向代理与正向代理相反。相反,它充当连接到的服务器的代理服务器。只有反向代理需要SSL证书,只需要一个公共IP地址,它可以处理传入请求的负载平衡,以增强整体用户体验。
图片来源:使用应用程序请求路由创建转发代理
其他回答
根据我的理解。。。
首先,众所周知,代理意味着“代表他人的权力”。现在有两件事,正向代理和反向代理。
转发代理服务器
假设您想访问“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。
上图表明,尽管两个代理的行为方式相同,但重要的只是上下文,但客户端代理隐藏客户端信息,而服务器端代理将隐藏服务器端信息。
从用户的角度看:向代理或反向代理服务器发送请求时:
proxy-需要两个参数:1)要获取什么,以及2)要使用哪个代理服务器反向代理-需要一个参数:1)获取什么
反向代理从用户不知道的另一个服务器获取内容,并返回结果,就像它来自反向代理服务器一样。
正向代理与反向代理(2012)非常清楚地解释了正向代理和反向代理之间的区别。
qyb2zm302的答案很好地详细描述了代理的应用,但它忽略了正向代理和反向代理之间的基本概念。对于反向代理,X→ Y→ Z、 X知道Y而不是Z,反之亦然。
代理只是通信(请求+响应)的中间人。客户端<->代理<->服务器
客户端代理:(客户端<->代理)<->服务器
代理人代表客户行事。客户知道链中涉及的所有三台机器。服务器没有。
服务器代理:客户端<->(代理<->服务器)
代理代表服务器行事。客户端只知道代理。服务器知道整个链条。
在我看来,正向和反向只是客户端和服务器代理的混淆、依赖于透视的名称。我建议放弃前者,改用后者,进行明确的沟通。
当然,让事情更复杂的是,并不是每台机器都是客户端或服务器。如果上下文中存在歧义,最好明确指定代理所在的位置以及它通过隧道传输的通信。
代理(转发代理):
当LAN上的计算机连接到访问Internet的代理服务器时。好处包括只将服务器暴露在Internet上。外面的人无法直接访问计算机。转发代理可以通过缓存下载来改善用户的Internet访问。它们还可用于限制对某些网站的访问。此外,只有代理服务器需要公共地址,而不是连接到它的客户端。
反向代理:
反向代理与正向代理相反。相反,它充当连接到的服务器的代理服务器。只有反向代理需要SSL证书,只需要一个公共IP地址,它可以处理传入请求的负载平衡,以增强整体用户体验。
图片来源:使用应用程序请求路由创建转发代理
最好的解释是这里的图表:
当正向代理代表客户端(或请求主机)时,反向代理代表服务器。
实际上,正向代理隐藏客户端的身份,反向代理隐藏服务器的身份。
推荐文章
- 使用express.js代理
- 有nginx access_log和error_log日志的STDOUT和STDERR的主进程
- 覆盖或覆盖
- 火灾vs. Webservice
- 为什么两个不同的概念都叫“堆”?
- 最好的轻量级web服务器(只有静态内容)的Windows
- 缓冲区是什么意思?
- BASE术语解释
- JavaBean和POJO之间的区别是什么?
- HTTP 1.1和HTTP 2.0的区别是什么?
- 如何从代理服务器后面更新Ruby Gems (ISA-NTLM)
- 如何在Apache服务器上自动将HTTP重定向到HTTPS ?
- 什么是端点?
- 字符、码位、字形和字素之间的区别是什么?
- “函数”和“过程”的区别是什么?