代理(英语:Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。提供代理服务的电脑系统或其它类型的网络终端称为代理服务器(英文:Proxy Server)。
具体而言,代理服务器一般可以分为正向代理与反向代理。
所谓正向代理,是从客户/客户端角度出发,即为了从原始服务器中取得内容,由客户端想代理服务器发出请求,并指定目标访问服务器,而后,代理(服务器)向目标服务器转角需求,并将获得的内容返回给客户端。正向代理闭环完成。
但是需要注意的是,在正向代理过程中隐藏了真是请求的客户端,即服务端不知道正式请求客户是谁。讲到这里,大家是不是想到了什么呢?没错,大多数科学上网行为都是这么发生的。
反向代理一般是从服务端出发,从网络或者客户(端)发向反向代理出请求,反向代理服务器收到需求后判断请求走向何处,然后再将结果反馈给客户端。反向代理闭环完成。
同样需要注意的是,在反向代理过程中,隐藏了内部服务器的信息,用户不需要知道是具体哪一台服务器提供的服务,只要知道反向代理服务器是谁就好了,我们甚至可以把反向代理服务器当做真正服务器看待。这种形式的代理通常被用作实现负载均衡,比如Nginx就是一种出色的反向代理服务器。
这种代理服务器具体有哪些应用场景呢?
其实在前面文章中,我们已经提到了代理服务器的两种重要功能:实现科学上网和负载均衡。但是代理服务器真的只有这两种功能吗?当然不是。对于代理服务器,有一种比较公认的比喻:代理服务器就好象一个大的Cache。
代理服务器功能之一
除了网友普遍使用的科学上网之外,在商用领域,代理服务器通常应用在两大应用场景之下:提高访问速度和隐藏真实IP免受攻击。
其实代理服务器提高访问速度这一点,正是印证了把代理服务器比作是一个大的Cache。一般代理服务器会设置一个较大的硬盘缓冲区,当外界有信息访问时会同时将其保存到缓冲区中,当再有用户访问同样的信息时,可以直接从缓冲区中读取信息,传给用户,从而提高了访问速度。
除了这种应用场景之外,还有一种则是企业员工比较讨厌的场景:企业通过代理服务器使员工只能访问公司内部的几个网站,限制公司员工的上网行为。还美其名曰:为了提高公司员工的工作效率……
通过代理服务器隐匿IP避免黑客攻击
当然,对于企业来说,信息安全至关重要,所以保障企业IP安全,避免被黑客攻击也是一堂必修课。所以,有不少网站都是通过代理服务器来隐藏自己的真是IP,来避免受到攻击的。从企业的角度来看,这自然是一个提高企业网络安全性的方法;但是,对于警察叔叔来说,代理服务器这种匿名功能也会为网络带来一定风险,因为会出现黑客隐藏自己IP等现象出现,为取证带来了难度。