彻底理解「正向代理」与「反向代理」

啥是代理

老实说, 我觉得「代理」一词不太好,不太「接地气,通俗化」

不如这样来理解:

如果你细心一点, 你会发现, 「代理」这一现象,在生活中简直是无处不在:

  1. 你通过中介( 活生生的人 / 租房网站 )来租房子, 中介是夹在你和房子之间的代理

  2. 雇佣钟点工来打扫房子, 钟点工是夹在你和打扫工作之间的代理

  3. 程序是你的思想与最终的机器码之间的代理

  4. 等等, 细想一下, 我们的世界, 简直就是由代理组成的. ( 取决于你想要的抽象层级 )

这时,你应该理解了: 代理像一种中间人, 像一种管家, 像夹在你和某事物之间的中间层.

代理的优点
  1. 主体的精力有限,亦或是资源有限

  2. 节省主体的精力 / 资源, 使主体专注, 从而促进社会分工化/精细化, 提高效率

  3. 减少复杂度,解放生产力

代理的缺点
  1. 引入了中间人, 增加了不透明

  2. 使主体失去了掌控力

典型例子:

  1. Debug. 程序员失去了对机器码的掌控力, 因为代理带来了不透明性

总体而言, 优点大于缺点, 利大于弊.

下面我们看看啥是常说的正向代理和方向代理.

正向代理

一切概念都是相对的, 一切真理都是有适用范围的

比如, 主体想要完成一件事, 此时他交给代理, 这就是正向代理, 其流程类似于这样:
主体-->代理-->另一个实体/事物/资源

可见, 正向代理的概念是相对于主动的那个主体而言的( 很像主动发起请求的主体叫做客户端这种概念 )

典型例子:

  1. Shadowsocks

  2. 各种上网代理/VPN

反向代理

反向代理正向代理是一组词汇, 可见它也是相对于主动的那个主体而言的.

我们可以举Nginx这个例子:

  1. 主体主动发起一个请求

  2. 这个请求的最终那一头是应用服务器

  3. 中间夹着Nginx

然而, 此时这个中间人, 却不是帮我们的主体做事, 而是帮另一头的那个实体做事! 即Nginx是另一头的代理.

这种情况下, Nginx称作反向代理( 相对于浏览器 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值