市面上的HTTP代理从匿名程度来区分,可以分为四类:透明代理、普通匿名代理、混淆代理和高度匿名代理(高匿代理)。
高匿代理虽说大部分需要收费,但因其安全性高,在个人开发者和企业用户当中备受欢迎,今天就来为大家介绍一下高匿代理的工作原理。
正常情况下,服务器收到请求时,需要看标头来响应,标头包含:REMOTE_ADDR 、HTTP_VIA 、HTTP_X_FORWARDED_FOR。
释义
REMOTE_ADDR 是客户端的 IP,但是它的值不是由客户端提供的,而是服务器根据客户端的IP指定的。
via是HTTP协议里面的一个header,记录了一次HTTP请求所经过的代理和网关,经过1个代理服务器,就添加一个代理服务器的信息,经过2个就添加2个。
HTTP_X_FORWARDED_FOR是用于首先发起请求的IP,也就是我们的真实IP。
示例
举个简单的例子,透明代理的标头为:
REMOTE_ADDR = HTTP代理
HTTP_VIA = HTTP代理
HTTP_X_FORWARDED_FOR = 你的IP
而高匿代理的标头为:
REMOTE_ADDR = HTTP代理
HTTP_VIA = not determined
HTTP_X_FORWARDED_FOR = not determined
看通过2种类型的HTTP代理的标头,我们会发现,高匿代理的请求中,HTTP_VIA和HTTP_X_FORWARDED_FOR是空白的,不含任何有效信息的,所以服务器是无法通过标头来判断我们的请求是通过HTTP代理的,只会认为我们是一位真实的用户在访问服务器。
简单来说,就是当我们使用高匿HTTP代理的时候,会被服务器识别成为一个真实存在的用户在访问,显示的IP地址也是代理服务器的IP,此时想要真实地定位追踪到我们就显得非常困难;而透明代理的打HTTP_VIA和HTTP_X_FORWARDED_FOR直接就把我们的真实IP暴露出来了,这也是为什么透明代理的安全性比较低的原因。
有部分网站,对HTTP代理有严格的限制,如果因为使用了匿名程度低的HTTP代理,有可能就会被封禁,导致我们的业务无法顺利进行。
所以,当我们使用HTTP代理的时候,要优选高匿的HTTP代理,这无论对我们的信息安全还是业务成功率而言,都有极大的帮助。