正向代理与反向代理通俗理解
正向代理。
把整个流程比如成去饭店吃饭,我们也就是用户(客户端)去饭店吃饭(发送一个请求),你知道你要吃的是鱼香肉丝(请求),可是你不能自己做,那么就需要让大厨(服务端)给你做 ,可是去了饭店,大厨是在后台的,你也不能直接去告诉大厨,因为你没有权限(服务端在后台)这时候就需要服务员(代理)来帮忙告诉说某某某客户(客户端)要一盘鱼香肉丝(请求/访问资源)大厨(服务端)收到给做好然后交给服务员(代理)服务员拿到鱼香肉丝(资源/响应)给客户(用户端)送回来。
好,简单的流程结束。这样大家明白代理的作用了吧。
反向代理。
继续比喻,说我们(客户端)今天要在你饭店吃一个大闸蟹(请求),服务员(代理)收到这个请求发现大厨做不了这个大闸蟹,可是又需要挣钱,这怎么办呢?服务员这么一想,隔壁那家饭店可以做,而我也和那家大厨(另一个服务端)有交集,那我去让另一家大厨给做怎么样?好。于是服务员就去告诉另一家大厨说你帮我做一个大闸蟹(请求)吧,隔壁大厨说好呀,可以。就做好交给服务员。那么这个时候,这个服务员(反向代理)就成为了反向代理,因为他去调用别的服务端。这个时候我们(客户端)通常来说是没必要知道这大闸蟹怎么来的,只要有就好。
注意:
那这个服务员是谁都可以当的吗?肯定不可以呀,所以这个服务员(代理)需要在饭店任职(配置)之后才可以。也就是代理需要配置。
那么反向代理需要吗?答案是不需要的,自己思考就会明白。
那么反向代理的优点就体现出来了,我不需要配置,而且我不仅只能在一家调用请求,我可以向多个服务端去发出请求。而且反向代理还可以向多台后端服务器进行负载平衡。
注意:在比喻中有一个地方不太恰当,在正向代理中应该是客户端来配置代理服务器的,但是在饭店的比喻中,却应该是饭店来管理服务员的吧,应该是我想吃但不知道谁会做,我带了一个知道谁会做的人去,让他帮我让大厨做出来
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架