代理IP背后的原理是什么?代理的区别在哪?

图片[1]-代理IP背后的原理是什么?代理的区别在哪?-唐朝资源网

题图:byourclickdaysfromInstagram

阅读文本大约须要7分钟。

在爬取个别网站时设置win7为代理服务器,我们常常会设置代理IP来防止爬虫程序被封。我们获取代理IP地址方法一般提取国外的著名IP代理商(如西刺代理,快代理,无忧代理等)的免费代理。这种代理商通常还会提供透明代理,匿名代理,高匿代理。这么这几种代理的区别是哪些?我们该怎么选择呢?本文的主要内容是讲解各类代理IP背后的原理。

1代理类型

代理类型一共能分为四种。不仅上面提及的透明代理,匿名代理,高匿代理,还有混淆代理。从安全程度来说,这四种代理类型的排序是高匿>混淆>匿名>透明。

2代理原理

代理类型主要取决于代理服务器端的配置。不同配置会产生不同的代理类型。在配置中,这三个变量REMOTE_ADDR,HTTP_VIA,HTTP_X_FORWARDED_FOR是决定性诱因。

1)REMOTE_ADDR

REMOTE_ADDR表示顾客端的IP,而且它的值不是由顾客端提供的,而是服务器按照顾客端的IP指定的。

假如使用浏览器直接访问某个网站,这么网站的web服务器(Nginx、Apache等)都会把REMOTE_ADDR设为顾客端的IP地址。

假如我们给浏览器设置代理,我们访问目标网站的恳求会先经过代理服务器,之后由代理服务器将恳求转化到目标网站。这么网站的web服务器都会把REMOTE_ADDR设为代理服务器的IP。

2)X-Forwarded-For(XFF)

X-Forwarded-For是一个HTTP扩充背部,拿来表示HTTP恳求端真实IP。当顾客端使用了代理时,web服务器就不晓得顾客端的真实IP地址。为了防止这个情况,代理服务器一般会降低一个X-Forwarded-For的头信息设置win7为代理服务器,把顾客端的IP添加到头信息上面。

X-Forwarded-For恳求头格式如下:

X-Forwarded-For: client, proxy1, proxy2

client表示顾客端的IP地址;proxy1是离服务端最远的设备IP;proxy2是次级代理设备的IP;从格式中,可以看出从client到server是可以有多层代理的。

假如一个HTTP恳求抵达服务器之前,经过了三个代理Proxy1、Proxy2、Proxy3,IP分别为IP1、IP2、IP3,用户真实IP为IP0,这么根据XFF标准,服务端最终会收到以下信息:

X-Forwarded-For: IP0, IP1, IP2

Proxy3直连服务器,它会给XFF追加IP2,表示它是在帮Proxy2转发恳求。列表中并没有IP3,IP3可以在服务端通过RemoteAddress数组获得。我们晓得HTTP联接基于TCP联接,HTTP合同中没有IP的概念,RemoteAddress来自TCP联接,表示与服务端构建TCP联接的设备IP,在这个事例里就是IP3。

© 版权声明
THE END
喜欢就支持一下吧
点赞145 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片