前言
前段时间整理团队的前端框架,涉及到nginx的代理部分,突然被大家问到正向代理和反向代理究竟有啥区别,一时间有点懵,用的时候,从没想过原理,究竟是啥,有啥区别,所以看看文章,并按自己的理解记录下,以便日后发现自己想的不对再来更新。
1. 一句话总结
看了下大佬的文章,总结下来就是这么一句话正向代理是代理客户端,反向代理是代理服务器
,以下则是我对这句话的理解。
通常,客户端与服务端之间的通信会借助于代理服务器进行转发。
2. 正向代理
客户端经过代理服务器向服务端发送请求,对于服务器而言,他的客户端其实是代理服务器,服务器将请求结果,返回代理服务器,再由代理服务器返回给真正的客户端。
对于服务端而言,客户端的IP就是那个代理,通过这种方式,我们可以隐藏真正的客户端信息。
3. 反向代理
客户端经过代理服务器向服务端发送请求,对于客户端而言,他的服务端其实是代理服务器,代理服务器会返回客户端需要的信息,而至于代理服务器是从哪个服务器上得到的信息就不是客户端所关注的内容。
通过这种方式,我们可以隐藏真正的服务端,像涉及到均衡负载的时候,代理服务器可以通过自己的逻辑,代理到负载低的服务器上进行资源的请求,或者代理服务器可以针对不同的请求信息,进行服务的转发。
总结
以上涉及到的个人的理解,可能存在有误的地方希望懂的童鞋能帮助指正。在这篇文章中,还涉及了很多应用场景,感觉大佬讲的很全面,需要可以自取。