http代理服务器工作原理

作者:IPIDEA

2020-10-21 16:25:58

实现http代理服务器有三种方式:一是在应用层实现,相当于应用网关,如web代理服务器和Socks代理服务器;二是在IP层或更低层实现,通过对数据包的转发来完成http代理功能;三是通过更改系统调用的方式实现,如微软的Winsock代理服务器,在自己的计算机上安装代理程序,程序将自动地修改系统调用。由于Web代理服务器是目前使用得普遍的代理服务器,因此ipidea全球http下面主要针对Web代理服务器来说明代理服务器的实现原理。

 

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


 9.41.jpg


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

 

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

 

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

 

透明代理ip只能设置在网关上。用户访问Internet的数据报必然都经过网关,如果在网关上设置代理ip,则该代理ip对用户来说显然是透明代理ip的。透明代理ip可以看作正向代理ip的一种特殊情况。

 

 


*ipidea提供的服务必须在境外网络环境下使用

热门资讯