实现IP代理服务器有三种方法:第一,在应用层实现,相当于应用网关,如Web代理服务器和Socks代理服务器。第二是在IP层或更低层实现HTTP代理,通过转发数据包来完成HTTP代理功能。第三种是通过改变系统调用的方法来实现这一点,比如微软的Winsock代理服务器。如果您的计算机上安装了IP代理程序,该程序将自动修改系统调用。由于Web代理服务器是目前应用最广泛的代理服务器,下面将主要介绍网络IP代理服务器的实现原则。
Web代理服务器一般由两部分组成:过滤器和应用程序。过滤器确定接收到的http请求是采用代理格式还是标准格式。如果是标准格式,则将其移交给本地WWW服务器进行处理。如果是代理格式,则将由代理应用程序处理。代理应用程序首先搜索代理缓冲区,如果数据存在并且有效,则从缓冲区中获取数据。如果没有,连接到远程目标服务器并获取数据。不管代理服务器是从缓存还是从Internet远程服务器获取数据,它都会根据HTTP协议使用端口80将信息返回给请求者。
在HTTP通信链中,客户端和目标服务器之间通常有一些中转代理服务器,提供对目标资源的中转访问。一个HTTP请求可能由多个代理服务器转发,后一个服务器称为前一个服务器的上游服务器。IP代理服务器根据用途和功能分为正向代理服务器、反向代理服务器和透明代理服务器。
转发代理IP需要客户端自己设置代理IP的地址。来自客户端的每个请求都将直接发送到代理服务器,代理IP将请求目标资源。例如,为了访问Internet,或者访问一些被屏蔽的国外网站,防火墙中的局域网机器需要使用转发代理IP。反向代理IP是在服务器端设置的,所以客户端不需要做任何设置。
代理ip在因特网上接收连接请求,然后将请求转发给内部网络上的服务器,并将内部服务器的结果返回给客户端。在这种情况下,IP代理服务器看起来像真正的服务器。透明的代理IP只能在网关上设置。用户访问互联网的所有数据报都必须通过网关。