HTTP通信时,客户端与服务器间常常存在中转代理服务器,来完成对目标资源的中转访问。每当HTTP请求发出后,可能被多个代理服务器转发,后面的服务器成为前面服务器的上游服务器。代理服务器按照其用途的不同,分为正向代理服务器,反向代理服务器和透明代理服务器。其中,正向代理服务器与客户端处于同一个逻辑网络中,该逻辑网络可以是本地LAN,也可以是一个更大的网络。反向代理服务器和真正的Web服务器也位于同一个逻辑网络中,这通常由提供网络的公司来配置和管理。
(1)正向代理服务器
客户端自己设置代理服务器的地址。客户端每次请求都要直接发送到该代理服务器,并由代理服务器来请求目标资源。比如处于防火墙内的局域网机器要访问Internet,或者要访问一些被屏蔽掉的外网网站,就需要使用正向代理服务器。
(2)反向代理服务器
设置在服务器端,因而客户端无需任何设置。反向代理是指用代理服务器来接收Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从内部服务器上得到的结果返回给客户端。这种情况下,代理服务器,对外就表现为一个真实的服务器。各大网站通常分区域设置了多个代理服务器,所以在不同的地方ping同一个域名可能得到不同的IP地址,因为这些IP地址实际上是代理服务器的IP地址。
(3)透明代理服务器
透明代理服务器只能设置在网关上。用户访问Internet的数据报必然是经过网关,如果在网关上设置代理,则该代理对用户来说显然是透明的。因此透明代理服务器可以看作正向代理服务器的一种特殊情况。
代理服务器通常还提供了缓存目标资源的功能(可选),这样用户下次访问同一资源时速度将很快。