代理是个啥玩意

代理是个干啥的

代理一般意义上讲是代替请求者访问服务器的网络组件。

你可能想问,这有什么用呢,要访问我自己访问不就行了。

代理还真的有这么几个作用,在说作用之前,让我们看一下整个代理网络的拓扑结构域图,以便我们能明白代理是在哪个环节产生了作用。顺便说一下,我们这是从横向的角度去看代理,等下我会说如何从纵向的角度去看代理。

 

OK,在这张图片中我们可以大致将网络分为这么三个部分

第一个是我们所在的局域网,无论是家庭,小区,公司,甚至国家的网络都可以视为一个局域网。而在局域网的出口这里一般会放置代理。

第二个部分是我们从局域网出来之后,会进入ISP服务商为我们提供的网络。在ISP的入口处,一般也会放置代理。

第三个部分是当我们的请求到达服务器端时,服务器集群这边,一般会有反向代理。

 

有了这个拓扑结构图大概也就能明白代理有什么作用了。

  1. 在局域网出口处,代理可以把控局域网内的访问请求,和屏蔽外来的信息。

    1. 做防火墙。比如说可以为幼儿园的网络屏蔽掉色情内容,为内部的网络屏蔽掉不安全的信息等等。

    2. 实现对外访问的集中控制

  2. 在ISP的入口,以及公共网络中

    1. 转发器(内容路由器)。根据网络流量状态或是内容类型制定多样的服务策略。例如,将付费用户与免费用户区分开来,使用不同的服务器提供服务。

    2. 转码器。根据不同的客户端返回不同的内容。例如,为不同语言的用户将网页转码成对应语言。亦或是将图片转码为体积更小的格式。

    3. 匿名服务。从 HTTP 请求中将身份信息剔除,再访问服务器。

  3. 在服务器集群的入口

    1. 反向代理。

      • 为什么叫反向代理呢,为了明白这一点,我们首先要定义方向。在这里,我们可以把从客户端到服务器这个方向看做是基准方向。通常情况下,代理是代替客户端访问服务端的,我们把这叫做正向。而反向代理是代替服务器接受客户端请求的。从上面的拓扑图上也可以看出来他们的方向是相对的,形成一个翅膀形状的拓扑图。另外,对于局域网出口的代理和服务器集群的代理,我们完全可以将他们视作集体的代理人,就好像在说“你要想到达我背后的资源,要先过我这一关。现在是我在代表他们。”

      • 反向代理能产生很多好处,第一就是可以方便地实现负载均衡。看哪个服务器工作不饱和,就把锅丢给它。第二是,可以把提供不同资源的服务器分开,这样我们就可以有专门的文件服务器,或是给每个应用单独起一个服务器。

  4. 补充一点,几乎所有的代理都可以做缓存。因为缓存对于解决互联网的拥塞是在是效果太好了。所以在这样一个集中了大量数据访问的网络节点上,不做缓存简直就是浪费这个位置,俗话叫“占着茅坑不拉屎”

 

看了上面这些是不是对代理的功能有了些了解了呢。但是要注意的是,上面讲的功能也只是给大家举个例子,说我们现在想到代理可以做这些事情。但是事实上,代理本质就是一个可以拿到你的HTTP请求的服务器,你可以想象这个服务器利用这项特权可以做很多很多的事情。拦截请求,决定把这个请求转发到哪里,亦或是对请求做出什么修改。在响应流回的时候,也会被代理服务器捉住,也许要对它进行一番改造再返回到你的客户端中。

 

从纵向去理解

好了,上面横向的代理讲完了。我们来看下纵向的代理吧。何谓纵向,我是这么看的,我们的 OSI 模型将网络分为了七层,这七层协议由下至上或是由上至下便是纵向传递我们的请求啦。

上面所讲的全都是 HTTP 代理,而在其他层或是其他协议中也是存在代理的,毕竟只要能拦截你的请求,我就可以代理你。当然,貌似没有网络层及网络层以下的代理,基础设施还是不要乱搞的好,不然大家都没了统一的规则了。

先说一个科学上网比较流行的代理,socks5 代理,这个代理是基于会话层的,它的特点是基本不会对信息做什么修改,就是忠实的将你的请求转发。利用shadowsocks等软件,将信息加密后,使用sock代理发送加密信息,很难被通路上的其他监控者察觉有什么不合规内容,而且在到达代理服务器之前都不会经过 HTTP 层。(不明白可以尝试画一下图哦,很有助于理解)

应用层的代理就很多啦,最常见的 HTTP 代理上面说过了,还有什么 FTP代理,SMTP、POP、IMAP代理啥的,是个协议就能代理代理。

 

总结一下

上面只是讲了下个人对于代理的浅薄见解,希望能用形象的语言把我心中理解的代理表述出来。或许网络中就是这样的吧,有机器,有需要,我们就会想办法让在这个位置的机器实现我们的需要,并不详细地取区分,哪台机器是做什么。所谓代理不过是,你的请求和响应都在我手里,我想怎样就怎样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值