跳到正文

HTTP 还是 SOCKS5:选哪个,为什么

每个 FRProxy 代理都开放两个端口:一个 HTTP,一个 SOCKS5,凭据相同、出口 IP 相同。它们是通往同一台设备的两扇门。

update 更新于

以下是一次选定、不必回头的方法。


一幅图说清区别

HTTP 代理理解它所承载的内容。它会读取请求头,知道您在访问哪个域名,也能改写它。

SOCKS5 代理什么都不理解。它在您和目标之间打开一条管道,把字节原样搬运过去。 它甚至不知道这是网页流量。

这种「无知」是一个优点:不被解读的东西,就不会被扭曲。

决策表

您的需求 该用的端口 原因
反检测浏览器(AdsPower、Dolphin、BitBrowser) SOCKS5 由远端处理 DNS,对指纹干扰更小
Proxifier、应用层隧道 SOCKS5 Proxifier 唯一能干净转发的类型
浏览器扩展(FoxyProxy) 两者都行 习惯上选 SOCKS5
手机的系统 Wi-Fi 设置 HTTP Android 和 iOS 原生不支持 SOCKS5
老软件、curl/requests 脚本 HTTP 往往是唯一支持的类型
网页以外的东西(邮件、游戏、IRC) SOCKS5 HTTP 只承载 HTTP

真正要紧的一点:DNS

这才是偏好 SOCKS5 的真正理由。

使用 HTTP 代理时,您的机器有时会自行向宽带运营商的 DNS 服务器解析域名, 然后才向代理请求页面。流量走了代理;而「vinted.fr 的 IP 是多少?」这个问题没有走代理。 于是运营商知道您访问了哪些网站,而且解析是从您所在的国家发起的,不是从代理所在的法国。

使用 SOCKS5 时,您可以把域名交给代理,让它去解析。Firefox 的 「使用 SOCKS v5 时代理 DNS」这一项正是这个作用,反检测浏览器默认也是这样做的。

流量从法国出去,DNS 却在您本地解析,这又多了一处不一致。它不是最强的信号, 但消除它不花任何成本。

常见误解

「SOCKS5 更快。」 在这里没有可测量的差异。两者经由同一个上网卡、同一个基站、同一条线路。 延迟来自 4G,不来自协议。

「SOCKS5 会加密。」 不会。两者都不加密。加密的是 HTTPS,端到端, 而且它在两者之上都能正常工作。代理只看得到您在和哪台服务器通信,永远看不到您说了什么。

「必须一次性选定。」 也不必:两个端口一直是开着的。浏览器走 SOCKS5、脚本走 HTTP, 同时使用同一个代理,完全没有问题。


另请参阅: 检查代理是否正常 · WebRTC 与 DNS 泄漏

需要法国移动代理吗? 真实的法国 4G 线路,一个 HTTP 端口和一个 SOCKS5 端口,按需更换 IP。

查看方案arrow_forward
grid_view知识库