版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bestxianfeng163/article/details/83268755
正向代理和反向代理
正向 和反向 自我理解的是 正向和反向是相对于客户体验来说的吧,,
我可以感知这个代理的存在,,,即是正向
我感受不到dail代理的存在,即是不是反向。
nginx作为反向代理服务器的cunz存在。
代理,字面意义上来说,他就是相当于一个中间人这么个概念。
带到项目中也一样,那么来这样一个比喻。
用户(客户端) 代理(正,反) 提供者(服务端)。
正向代理。
把整个流程比如成去饭店吃饭,我们也就是用户(客户端)去饭店吃饭(发送一个请求),你知道你要吃的是鱼香肉丝(请求),可是你不能自己做,那么就需要让大厨(服务端)给你做 ,可是去了饭店,大厨是在后台的,你也不能直接去告诉大厨,因为你没有权限(服务端在后台)这时候就需要服务员(代理)来帮忙告诉说某某某客户(客户端)要一盘鱼香肉丝(请求/访问资源)大厨(服务端)收到给做好然后交给服务员(代理)服务员拿到鱼香肉丝(资源/响应)给客户(用户端)送回来。
好,简单的流程结束。这样大家明白代理的作用了吧。
反向代理。
继续比喻,说我们(客户端)今天要在你饭店吃一个大闸蟹(请求),服务员(代理)收到这个请求发现大厨做不了这个大闸蟹,可是又需要挣钱,这怎么办呢?服务员这么一想,隔壁那家饭店可以做,而我也和那家大厨(另一个服务端)有交集,那我去让另一家大厨给做怎么样?好。于是服务员就去告诉另一家大厨说你帮我做一个大闸蟹(请求)吧,隔壁大厨说好呀,可以。就做好交给服务员。那么这个时候,这个服务员(反向代理)就成为了反向代理,因为他去调用别的服务端。这个时候我们(客户端)通常来说是没必要知道这大闸蟹怎么来的,只要有就好。