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


当前回答

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

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

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

其他回答

Cloudflare有一篇很棒的文章,其中有详细解释这一点的图片。检查此处:什么是反向代理?|代理服务器说明


区别主要在于部署。Web正向和反向代理都具有相同的底层特性。它们接受各种格式的HTTP请求请求并提供响应,通常通过访问源服务器或联系服务器。

功能齐全的服务器通常具有访问控制、缓存和一些链接映射功能。

转发代理是通过配置客户机访问的代理。客户端需要对代理功能(重定向、代理身份验证等)的协议支持。代理对用户体验透明,但对应用程序不透明。

反向代理是一种部署为web服务器的代理,其行为类似于web服务器,但不同之处在于,它不是在本地从程序和磁盘组成内容,而是将请求转发到源服务器。从客户端的角度来看,它是一个web服务器,因此用户体验是完全透明的。

事实上,单个代理实例可以同时作为正向和反向代理运行,用于不同的客户端群体。

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

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

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

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

转发代理:

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

在反向代理中:

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

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

一些图表可能会有所帮助:

转发代理服务器

反向代理