一,什么是代理服务器(Proxy)?
答:以类似代理人的身份去取的用户需要的数据。由于它的【代理】能力,使得我们可以透过代理服务器来达成防火墙与用户数据的分析。除此之外我们还可以借助代理服务器来达成节省带宽的目的,以及加快内部网络对因特网的万维网的访问速度。 当客户端有因特网的数据要求时,Proxy会帮用户去向目的地取得用户所需要的数据。所以当客户端指定www的代理服务器之后,用户的所有www相关要求就会通过代理服务器去捉取。代理服务器会架设在整个区网的单点对外防火墙上头,而在区网内部的计算机都是通过Proxy来向英特网要求数据的,这就是所谓的【代理服务器】
关于代理服务器,客户端与因特网的相关性示意图如下:
上面的架构仅仅是其中一个案例,架构的采用率比较高,因为这样的Proxy server不仅可以充当代理服务器的角色,还可以当做高阶防火墙。
客户端向外部要求的数据事实上都是Proxy帮用户取得的,因此因特网上面看到要求数据者,将会是Proxy服务器的IP而不是客户端的IP。Proxy Server因为直接对外网,相当于当了个炮灰,外网只能找到这个代理服务器,隐藏内网的机器,从而起到防火墙的作用。
二,代理服务器原理【Proxy Serve】:
代理服务器就类似代理商,如图,假设你的机器为A机,你想获得的数据由B机提供,代理服务器为C机,那么具体的连接过程是这样的:
首先,A机需要B机的数据,它与C机建立连接,C机接收到A机的数据请求后,与B机建立连接,下载A机所请求的B机上的数据到本地,再将此数据发送至A机,完成代理访问服务。
相比着上图的运行流程,代理服务器本身还具备缓存的能力,能够存储从internet网上取回的数据,方便用户再次请求时,能从代理服务器缓存中快速取出返回。代理服务器的运作流程如下:
cache的存在,可以做假象的web加速;
当Proxy的快取拥有用户所想要的数据时:
a. Client端向Server端发送一个数据需求封包
b. Server端接收之后,先比对这个封包的【来源】与预计要前往的【目标】网站是否为可接受?如果来源和目标都是合法的,或者说,来源与目标网站我们的Proxy都能帮忙取得资料时,那么 Server端会开始替Client取得资料。取得资料中比较重要的政策就是【比对政策】,有点像认证的感觉。
c. 对比政策,Server对先检查自己的快取(新的数据可能在内存中,比较旧的数据放在硬盘中)数据,如果有Client所需要的数据,那么将数据准备取出,而不经过向Internet要求数据的程序。
d. 最后当然就是将数据回传给Client
Proxy对于cache的速度是很有要求的,而这个cache就是硬盘了。硬盘的容量必须足够大,而且还要【足够快】才行!cache是一直被重复存取的地方。所以硬盘的好坏就差别大了。
三、代理服务器的优点:
* 突破自身IP访问限制:访问国外站点或者其他之前不能访问的站点。
* 提高访问速度:通常代理服务器都设置了一个较大的硬盘缓冲区,当有外界的信息通过的时候,同时也将其保存在缓冲区中,当其他用户在访问相同的信息时,则直接有缓冲区取出信息,传给用户,以提高访问速度
* 链接内网与Internet,充当防火墙:因为所有的内部网用户通过代理服务器访问外界时,只映射一个IP地址,所以外界不能直接访问到内部网;同时可以设置IP地址过滤,限制内部网对外部的访问权限
* 隐藏真实IP:上网者可以通过这种方式隐藏自己的IP,以免受到攻击;
* 设置用户验证和记账功能,没有登记的用户无权通过代理服务器访问Internet网。并对用户的访问时间、访问地点、信息流量进行统计。
四,代理服务器的分类:
1、HTTP 代理按匿名功能分类(是否具有隐藏 IP 的功能)。
非匿名代理:不具有匿名功能。
匿名代理。使用此种代理时,虽然被访问的网站不能知道你的 IP 地址,但仍然可 以知道你在使用代理,有些侦测 IP 的网页也仍然可以查到你的 IP。
高度匿名代理:使用此种代理时,被访问的网站不知道你的 IP 地址,也不知道你在使用代理进行访问。此种代理的隐藏 IP 地址的功能最强。
2、按请求信息的安全性分类
全匿名代理:不改变你的 request fields(报文),使服务器端看来就像有个真正的客户浏览器在访问它。当然,你的真实 IP 是隐藏起来的。服务器的网管不会认为
你使用了代理。
普通匿名代理:能隐藏你的真实 IP,但会更改你的 request fields,有可能会被