通俗理解:代理其实就好比是一个中介,A和B本来可以直连,中间插入一个中介C,C就是代理。
那么,如何区分是正向和反向呢?
我们都知道在国内不可以直接访问谷歌,这时,我们需要通过一个代理服务器,将请求发到能够访问谷歌的代理服务器,然后由代理服务器去访问谷歌,这样将请求到的数据返回给我们,这就是正向代理。
另一种场景就是,为了数据安全和阻断一些非法请求,或者纯粹是为了降低服务器压力,很多公司将一些特有数据不直接对外公开,但是可以通过设置代理来满足外部请求可以访问到数据,当代理服务器监测到外部请求时,由代理服务器与内部服务交互,然后将数据返回到代理服务器,由代理服务器再将数据返回给外部请求,这就是反向代理。
总结下来:
正向代理--服务于客户端,向外部服务器发起请求,然后得到数据。之前有看到过一种说法,就是你想买票,帮你买票的黄牛。
反向代理--服务于服务端,向内部服务器发起请求,然后将数据发送给客户端。之前看到过一种说法,就是有人想租你的房,帮你把房租出去的中介公司。