你想通过另一个 IP 地址打开一个网站,但你用的是没有管理员权限的工作电脑、借来的电脑,或者是不想再装一个应用的手机。免费网页代理可以在普通浏览器标签页里解决这个问题。你输入一个地址,选择一个位置,页面就会像你身处别处一样打开。
本指南解释了这样做时实际发生了什么:基于浏览器的代理是如何构建的,对面的网站看到了什么,为什么不需要安装任何东西,以及这种方式的局限在哪里。如果你想在阅读的同时试用一下,Shifter Web Proxy 是免费的,运行在覆盖 54 个国家的住宅 IP 上。
网页代理到底是什么
代理是网络流量的中间人。你的浏览器不直接与网站通信,而是与代理通信,再由代理与网站通信。网站回应代理,代理再把回应传回给你。
网页代理是一种通过网页访问的代理。你不需要在操作系统或浏览器设置里配置任何东西。代理自身的网站就是界面:一个地址栏、一个位置选择器,以及一个显示被代理页面的框架或标签页。
请求路径如下:
- 你在代理的页面上输入一个地址。
- 代理用自己的 IP 地址把请求发送给网站。
- 网站回应代理,以为自己是在和普通访客对话。
- 代理把页面传回给你的浏览器,由浏览器渲染。
该页面上的每一张图片、每一段脚本和每一个后续请求都必须走同样的路径。要实现这一点并不容易,而这正是两种主要设计的区别所在。
构建基于浏览器的代理的两种方式
服务器端重写代理
经典的设计把所有工作都放在服务器上完成。代理下载你请求页面的 HTML,重写每一个链接、图片地址和表单操作,使其指回代理,再把修改后的副本发给你。
这种方式在几乎所有浏览器上都能用,但现代网站会让它吃力。如今一个页面的大部分内容是在首次加载之后由 JavaScript 构建的,通过服务器从未见过的调用进行。任何重写器遗漏的内容都会直接从你自己的 IP 发往真正的网站,或者干脆出错,这就是为什么较旧的代理常常会出现图片缺失和按钮失灵的情况。
带有 Service Worker 的浏览器内引擎
更新的网页代理把大部分重写工作移到了你的标签页内部完成。当你打开代理时,它会安装一个 Service Worker,这是一种浏览器允许网站在自己页面后台运行的小脚本。Service Worker 位于页面和网络之间,可以看到页面发出的每一个请求,包括之后由 JavaScript 创建的请求。
因此,当被代理的页面请求一张图片、一个样式表或一个 API 响应时,Service Worker 会截获该请求,将其重写为通过代理发送,再把结果返回给页面。没有任何东西会直接泄露给真正的网站。由于重写发生在页面实际运行的地方,现代大量使用 JavaScript 的网站往往表现得好得多。
Service Worker 是 Web 平台的一部分,不是下载的东西。它随页面一起加载,作用域限定在代理自身的网站上,当浏览器清除该网站的数据时就会消失。Shifter Web Proxy 使用的正是这种浏览器内方式。
网站能看到什么,看不到什么
你访问的网站看到的是代理的出口 IP 地址,而不是你的。网站会根据这个地址推断你的国家,通常还有城市,以及你所在的网络类型。它据此选择语言、货币、商品目录,有时甚至决定是否让你进入。
网站看不到你家里或办公室的 IP,也看不到你最初打开的那个代理页面的地址。但如果你主动告诉网站任何信息,它就会看到:如果你登录或在表单里输入你的电子邮箱,网站就会知道你是谁,不管有没有用代理。
出口 IP 的类型比大多数人想象的更重要。网站会检查一个地址属于家庭互联网服务商还是托管公司。来自数据中心的访问是机器人或代理介入的强烈信号,所以许多网站会用验证码、拒绝访问页面或错误国家的内容来应对。而住宅 IP,即属于家庭宽带提供商的地址,看起来就像是普通的当地访客。
网页代理如何处理 HTTPS
大多数网站使用 HTTPS,所以一个合理的问题是代理能否读取你的流量。这取决于具体设计。
服务器端重写代理为了重写页面必须先解密它。加密连接是从网站到代理服务器之间建立的,代理在把内容发给你之前会以明文形式看到这些内容。你等于把你加载的一切都托付给了运营方。
浏览器内引擎可以做得更好。在 Shifter Web Proxy 中,加密的 HTTPS 连接是在你的浏览器标签页内部协商的,因此网关转发的是它自己无法读取的流量。和任何代理一样,它仍然需要知道你要连接的站点名称才能路由请求,而 Shifter 不会把这一点写入日志。
为什么不需要安装任何东西
网页代理所需的一切都已经内置在现代浏览器中:用于运行引擎的 JavaScript、用于拦截请求的 Service Worker,以及用于保护连接的 HTTPS。代理传递这些代码的方式,和任何网站传递其自身代码的方式一样,都是在你打开页面的那一刻完成的。
这使得网页代理在安装软件不方便的场合特别好用:受管理的工作电脑、共享电脑、或是在手机上快速查看一下。关闭标签页,会话就结束了,不会留下任何运行中的程序,也不需要撤销任何设置。
哪些场景效果好,哪些通常不行
网页代理很擅长处理普通的浏览需求。以下内容通常能顺利加载:
- 新闻网站和博客,包括按国家变化的地区版本。
- 在线商店,显示本地价格、货币和促销信息。
- 搜索结果,与另一个国家的搜索者所看到的一致。
- 文档、论坛以及大多数公开页面。
有些事情对任何网页代理来说都很困难:
- 带 DRM 的流媒体。 受保护的视频依赖浏览器功能和许可证检查,这些无法干净地穿过重写层,所以许多流媒体服务无法播放。
- 复杂的登录流程。 单点登录、多步验证,以及将会话绑定到单一 IP 的网站可能会失败,或者在出口变化时要求你重新登录。
- 屏蔽数据中心 IP 的网站。 如果代理的出口来自托管网络,这些网站可能会拒绝请求,无论页面重写得多好。
这些都不是对某个网站一定能打开的保证。网站的规则经常变化,而网页代理也不是绕过学校、工作场所或国家网络过滤的方法。
网页代理 vs VPN vs 浏览器扩展 vs 住宅代理
每种工具解决的问题略有不同。以下是人们常问的几个方面的对比。
| 网页代理 | VPN | 浏览器扩展 | 住宅代理 | |
|---|---|---|---|---|
| 安装 | 无 | 应用程序 | 扩展程序 | 设置或代码 |
| 覆盖范围 | 单个标签页 | 整台设备 | 浏览器 | 任何配置过的应用 |
| 出口 IP | 取决于提供商 | 多为数据中心 | 取决于提供商 | 家庭宽带 |
| 最适合 | 快速查看 | 全部流量 | 日常浏览 | 脚本和工具 |
网页代理是最轻量的选择。VPN 覆盖整台设备,但需要一个应用,并且通常从数据中心出口。扩展程序仍然需要安装。住宅代理套餐则是在脚本、爬虫或应用需要大规模本地 IP,并需要国家、城市和 ASN 定向时使用的工具。如果这正是你需要的方向,Shifter 提供用于抓取和自动化的轮换家庭 IP,按 GB 计费。
如何选择免费网页代理
免费网页代理差异很大。在依赖某个之前,请核实以下几点:
- 广告。 许多免费代理靠横幅广告和弹窗来维持运营,有些还会在你浏览的页面中插入广告。广告网络也带来了自己的追踪器。
- 日志。 阅读隐私政策。查看是否明确说明是否记录你访问的页面,以及是否存储你的 IP 地址。
- 国家选择。 有些工具只提供一个位置,有些提供几十个。如果你需要特定市场,确认它在列表中。
- 出口 IP 类型。 数据中心出口运行成本更低,也更容易被网站识别。住宅出口能让你看到本地访客看到的页面。
- 限制。 大多数免费工具会限制时长、流量或两者都限制。了解配额,以免会话在任务中途结束。
我们用同一套方法测试了 17 个流行的免费网页代理,并在网页代理评测中逐一写明了出口 IP 类型、广告、配额和日志政策的对比。
Shifter Web Proxy 的定位
Shifter Web Proxy 属于浏览器内类型,构建在我们客户用于网络数据采集的同一个住宅网络之上。网站看到的是你所选国家(覆盖 54 个国家)的家庭宽带连接,而不是一台服务器。
它没有广告,也不保留你访问页面的任何日志。为了执行免费配额,它为每个浏览器保留一个匿名计数器,不记录任何 IP 地址,也不需要账户。每位访客每天可免费获得 30 分钟和 100 MB,在通过一次快速的 reCAPTCHA 验证后,于 UTC 时间午夜重置。页面在各自的标签页中打开,带有前进、后退、刷新、地址栏和国家切换器。
当你需要的超出一个标签页所能提供的范围,比如更多流量、更长会话,或是在你自己的脚本和应用中使用代理,同一个网络也可以通过付费套餐获得。
想亲自体验,打开 免费的 Shifter 网页代理,选择一个国家,加载一个你熟悉的页面。把它和你平常看到的内容对比一下,是理解网页代理改变了什么的最快方式。