代理服务器(理解篇)
先举个栗子,你想创业,没有资金,然后你去找马云投资,可想而知,你一定碰壁了,后来你突然想到动用自己的关系,发现自己大学老师是马云的同学,之后进过一系列操作,你顺利拿到了钱。这时候马云是不知道谁拿走钱的,老师就充当了代理的角色。
我们通常所说的代理,指的是正向代理,正向代理过程中,隐藏了真实的客户端,服务端是不清楚具体那个客户端请求的,客户端的所有请求都是通过代理来执行的,某些上网工具就是扮演了很典型的正向代理的角色。在国内,我们如果访问www.google.com时,大家都知道这是不行的,访问不了,被残忍的block,这时我们就可以在国外搭建一台服务器,让他帮我们去访问google,他得到结果后再返回给我们。
正向代理示意图
关于反向代理:
再举一个例子,我们给联通总机10010打电话(我们要求接通人工客服),这时我们不知道对面是谁在跟我们对话,我们也不需要知道,也不关心,我们关心的只是他是否能够给我们解决问题。这里,10010总机就是代理角色。
反向代理隐藏了真实的服务端,当我们请求www.baidu.com时,web真实的服务器有好几十万台,具体是那一台给我们提供服务,我们不清楚,也不需要了解,我们只需要知道代理服务器是哪个就行了,而这里代理服务器就是www.baidu.com。Nginx就是很好的反向代理服务器,用来做负载均衡。
反向代理示意图
总结:
两者的代理对象不同,正向代理代理的对象是客户端,反向代理代理的是服务端。
如果你在很年轻的时候,就遭受到了失败,一定要把它当作老天送你的礼物。如果等到四十岁再失败,你会经受不起的。为什么年纪越大,走路越小心,因为越来越经不起跌倒了。