代理服务器和反向代理服务器之间的区别是什么?
当前回答
让我们考虑一下服务的目的。
转发代理:
代理帮助用户访问服务器。
在反向代理中:
代理帮助用户访问服务器。
在后一种情况下,受代理帮助的人不再是用户,而是服务器,这就是我们称之为反向代理的原因。
其他回答
一对简单的定义是:
转发代理:代表请求者(或服务使用者)
反向代理:代表服务/内容生产者行事。
转发代理授予客户端匿名性(即,思考Tor)。
反向代理授予后端服务器匿名性(即,认为DMZ后面的服务器)。
下面是一个反向代理(作为负载平衡器)的示例。
一个客户端浏览到website.com,它访问的服务器上运行着一个反向代理。反向代理恰好是Pound。Pound接收请求并将其发送到位于其后面的三个应用服务器之一。在本例中,Pound是一个负载平衡器。也就是说,它正在平衡三个应用程序服务器之间的负载。
应用服务器将网站内容提供给客户端。
根据我的理解。。。
首先,众所周知,代理意味着“代表他人的权力”。现在有两件事,正向代理和反向代理。
转发代理服务器
假设您想访问“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。
上图表明,尽管两个代理的行为方式相同,但重要的只是上下文,但客户端代理隐藏客户端信息,而服务器端代理将隐藏服务器端信息。
代理服务器(也称为正向代理)和反向代理服务器之间的区别取决于参考点。
从技术上讲,两者完全相同。两者都具有代表源向目的地传输数据的相同目的。
区别在于“代理服务器代表谁/代理服务器代表什么?”
如果代理服务器代表最终用户向互联网服务器转发请求(例如:大学中的学生通过大学代理服务器访问互联网),则代理称为“转发代理”或简称“代理”。
如果代理服务器代表服务器响应传入的请求,则该代理被称为“反向代理”,因为从最终用户的角度来看,它的工作方向相反。
反向代理的一些示例:
web服务器前面的负载平衡器充当代表实际web服务器的反向代理。API网关免费网站托管服务(如facebook页面/博客页面服务器)也是反向代理。实际内容可能在某个web服务器中,但外部世界通过反向代理发布的特定url知道它。
转发代理的使用:
监视来自组织的所有出站internet连接对internet浏览应用安全策略并阻止下载恶意内容阻止访问特定网站
使用反向代理:
显示网站的友好URL跨多个web服务器执行负载平衡应用安全策略并保护实际web服务器免受攻击
推荐文章
- 有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 ?
- 什么是端点?
- 字符、码位、字形和字素之间的区别是什么?
- “函数”和“过程”的区别是什么?
- 在子域上配置nginx的多个位置和不同的根文件夹