实现http代理服务器有三种方式:一是在应用层实现,相当于应用网关,如web代理服务器和Socks代理服务器;二是在IP层或更底层实现,通过对数据包的转发来完成http代理功能;三是通过更改系统调用的方式实现。

 

代理服务器一般由过滤器和应用程序两部分组成。过滤器判断收到 http请求是代理格式还是标准格式,如果是标准格式,则交由本地WWW服务器处理;如果是代理格式,则交由代理应用程序处理。代理应用程序首先在代理缓存区内查找,如果数据存在且有效,则从缓存区中取出数据;如果不存在,则连接至远程目标服务器,并获得数据。不论代理服务器从缓存区中还是从远程服务器中获取数据,它都按照HTTP协议使用80号端口将信息返回给请求者。


 8.243.png


在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。一个HTTP请求可能被多个代理服务器转发,后面的服务器成为前面服务器的上游服务器。代理服务器按照其使用方式和作用,分为正向代理服务器、反向代理服务器、透明代理服务器。

 

正向代理ip要求客户端自己设置代理ip的地址。客户的每次请求都将直接发送到该代理服务器,并由代理ip来请求目标资源。比如处于防火墙内的局域网机器要访问互联网,或者要访问一些被屏蔽掉的国外网站,就需要使用正向代理ip。 反向代理ip则被设置在服务器端,因而客户端无须进行任何设置。

 

反向代理ip来接收互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给客户端。在这种情况下,代理服务器对外就表现为一个真实的服务器。

 

透明代理ip只能设置在网关上。用户访问的数据报必然都经过网关,如果在网关上设置代理ip,则该代理ip对用户来说显然是透明代理ip的,而使用IPIDEA包含IP全部为高匿名强力保护信息安全。透明代理ip正向代理ip的一种特殊情况。

 

 


上一篇:代理HTTP的质量该怎么判断

下一篇:使用HTTP代理需要了解的基础概念