什么是正向代理?什么是反向代理?

咕哒 2021年05月29日 304次浏览

先扔个概念

正向代理( Forward Proxy ):是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容, 客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

反向代理( Reverse Proxy ):是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

白话版

正向代理

比如你大学刚毕业,实习准备租房子,打开各种租房APP,一看基本全是中介找不到一个真人房东于是你找了中介帮你租房子。
你-->中介-->房东
你(用户)、中介(代理服务器)和房东(目标服务器)。引入中介(代理服务器)的原因是你无法联系上房东(用户无法直接访问该网站)。
所以,正向代理,其实是"代理服务器"代理了"客户端",去和"目标服务器"进行交互。

反向代理

还有一些中介干的比较大,手里有钱了。于是干起了“房屋托管”。
首先他从房东那里把房子租来,然后转租给你。也就是说和你签合同的并不是房东本人。这种二房东就是反向代理服务器。这个过程就是反向代理。
所以,反向代理,其实是"代理服务器"代理了"目标服务器",去和"客户端"进行交互。

特点

正向代理:

代理客户端。
隐藏真实的客户,为客户端收发请求,使真实客户端对服务器不可见。

反向代理:

代理服务器。
隐藏了真实的服务器,为服务器收发请求,使真实服务器对客户端不可见。
负载均衡服务器,意味着用户和负载均衡服务器直接通信,负载均衡再将用户的请求分发到空闲的服务器上。

共同点:

都是做为服务器和客户端的中间层。
都可以加强内网的安全性。
都可以做缓存机制,提高访问速度。

区别:

正向代理其实是客户端的代理,反向代理则是服务器的代理。
正向代理中,服务器并不知道真正的客户端到底是谁;而在反向代理中,客户端也不知道真正的服务器是谁。
作用不同。正向代理主要是用来解决访问限制问题;而反向代理则是提供负载均衡、安全防护等作用。