什么是代理服务器?工作原理详解

代理服务器是一台代替你访问互联网的计算机。你的浏览器或脚本不直接连接网站,而是先连接代理,再由代理连接网站。网站把响应发给代理,代理再转交给你。

这个小小的绕行改变了一件重要的事:网站看到的是代理的 IP 地址,而不是你的。

请求如何经过代理

  1. 你的程序与代理建立连接,例如 203.0.113.10:8080。
  2. 告诉代理要访问哪里:example.com,端口 443。
  3. 代理自行与 example.com 建立连接。
  4. 数据经由代理双向传输,直到任意一方关闭连接。

访问 HTTPS 网站时,内容全程保持加密。代理知道你访问的是哪个主机,但无法读取加密隧道中的页面、密码和 Cookie。

网站能看到什么

  • IP 地址:代理的出口 IP,它也决定了你“所在”的国家。
  • 请求头:浏览器发送的内容,加上代理额外添加的内容。有些代理会添加带有你真实 IP 的 X-Forwarded-For,有些则什么都不加。这正是匿名等级要讨论的问题。
  • 延迟:经过远方代理的请求耗时更长,因此我们在免费代理列表中为每个代理标注了实测速度。

代理的主要类型

按协议:

  • HTTP 代理:理解网页请求,在浏览器和爬虫中使用最方便。
  • SOCKS4 和 SOCKS5 代理:转发任意 TCP 连接而不查看内容。SOCKS5 还支持 UDP 和认证。详细对比见 HTTP 与 SOCKS5 的区别。

按 IP 来源:

  • 数据中心代理:运行在托管公司的服务器上,速度快、价格低,但网站很容易识别。
  • 住宅代理:使用家庭宽带的 IP,看起来像普通访客。
  • 移动代理:通过蜂窝网络转发流量,一个 IP 由成千上万的真实用户共享。

按访问方式:

  • 公开(免费)代理:任何人都可以使用,我们的列表就由这类服务器组成。
  • 私人代理:由单个客户租用,并用用户名和密码保护。

代理的用途

  • 以其他国家用户的视角查看网站:价格、搜索结果、广告和可用内容。
  • 大规模采集公开数据,而不受单个 IP 的限制。
  • 从外部测试自己的网站、地域定向和防火墙。
  • 对访问的网站隐藏你的家庭 IP。
  • 访问在你所在网络中被屏蔽的资源。

代理与 VPN

VPN 加密设备的全部流量并通过一台服务器发送。代理按应用工作:你在浏览器或脚本中配置它,只有这部分流量经过代理。代理更灵活,一个爬虫可以同时使用数百个代理;而 VPN 更适合保护整台设备。

免费代理安全吗?

公开代理是陌生人的服务器,应视为不可信:只访问 HTTPS 网站,不要通过它发送密码或支付信息,并随时准备它消失。重要任务请使用可信服务商的私人代理。

如何开始

打开免费代理列表,按协议和国家筛选,选择几秒前刚检测过的代理。如何使用代理一文给出了浏览器、curl 和 Python 的具体设置方法。

其他语言版本: EnglishРусскийУкраїнськаEspañolPortuguês (Brasil)FrançaisDeutschTürkçeBahasa IndonesiaTiếng Việtالعربيةفارسی

延伸阅读