# HTTP 与 SOCKS5 代理：按连接方式选择

Source: https://ipvolt.com/zh/guides/http-vs-socks5-proxies
Markdown: https://ipvolt.com/zh/guides/http-vs-socks5-proxies.md
Language: zh-CN

[ipvolt 首页](https://ipvolt.com/zh.md) / [指南](https://ipvolt.com/zh/guides.md) / HTTP 与 SOCKS5 代理：按连接方式选择

核心概念
审校于: 2026-09-10
阅读约 4 分钟
作者： ipvolt

对比 HTTP CONNECT 与 SOCKS5，理解 DNS 解析位置和 TLS 边界，并选择你的客户端和服务商实际支持的协议。

## 起点

选择代理协议时应独立于出口 IP 的类型。HTTP 或 SOCKS 的标签并不能告诉你出口是移动网络还是住宅网络。

## 从客户端和目标站点入手

HTTP 代理理解 HTTP 请求。对于 HTTPS 目标站点，常见做法是 CONNECT：代理与目标主机和端口建立隧道，然后客户端通过隧道协商目标站点的 TLS。SOCKS5 在另一个协议层协商中继连接，并定义了 TCP 和 UDP 操作。

协议能力不等于服务承诺。SOCKS5 服务商或客户端可能并未实现你的应用所需的 UDP 行为。在选定之前，请确认其对具体操作、认证方式和目标端口的支持。

## 决定目标站点 DNS 在哪一端解析

在 curl 的 URL 约定中，socks5:// 在本地解析目标站点；socks5h:// 则把目标主机名发送给代理去解析。这会影响哪个解析器看到查询以及它返回哪个地址。网关自身的主机名仍然需要由你的客户端解析。

做区域性 QA 测试时，请把 DNS 解析位置与出口区域一起记录下来。否则两次运行可能因为解析器不同而产生差异，而不是因为你想比较的网络不同。切换到远程 DNS 是一个受控的测试参数，并不保证返回的内容属于某个特定区域。

## 画出两条 TLS 边界

HTTPS 代理加密的是客户端到代理的连接。HTTPS 目标站点加密的是到目标站点的连接。这是两个相互独立的层，各自有独立的证书校验。纯 HTTP 网关可以为 HTTPS 目标站点建立隧道，但它自身的认证交换并不会因此受到目标站点 TLS 的保护。

询问你的服务商是否提供到网关的 TLS，以及是否会拦截目标站点的 TLS。标准隧道与做内容检查的企业代理有着不同的信任要求。无论使用哪几层 TLS，都要保持证书校验开启。

## 做一次小规模的选型测试

对于纯 Web 应用，先从其 HTTP 客户端能干净支持的协议开始。如果另一个应用明确要求 SOCKS，请直接验证这一需求。在给出性能结论之前，先在同一个获准的目标站点上比较两者。

- 客户端能否使用服务商的方式完成认证？
- 它能否在连接的预期一端解析目标站点？
- 它是否支持所需的端口和传输方式？
- 你的团队能否在每一层诊断并监控故障？

## 上线前检查

- 把协议、出口类型和轮换模式分开考虑。
- 记录目标站点的 DNS 行为。
- 在适用时同时验证网关和目标站点的 TLS。

## 参考来源与延伸阅读

- [RFC 9110: CONNECT semantics](https://www.rfc-editor.org/rfc/rfc9110.html#name-connect)
- [RFC 1928: SOCKS5 operations](https://datatracker.ietf.org/doc/html/rfc1928)
- [Everything curl: SOCKS and DNS](https://everything.curl.dev/usingcurl/proxies/socks.html)
- [Everything curl: proxy TLS connections](https://everything.curl.dev/transfers/conn/proxies.html)

## 相关指南

- [在 curl 中使用代理：-x、环境变量、SOCKS5 与认证](https://ipvolt.com/zh/guides/curl-proxy-setup.md)
- [在 Node.js fetch 中使用代理](https://ipvolt.com/zh/guides/nodejs-fetch-proxy.md)
- [移动代理与住宅代理：建立一套有用的评估方法](https://ipvolt.com/zh/guides/mobile-vs-residential-proxies.md)

## 关于 ipvolt

示例使用通用的代理设置，并附上原始技术文档链接。具体产品的行为请向你的服务商确认。ipvolt 仍在开发中。

[阅读英文原文](https://ipvolt.com/guides/http-vs-socks5-proxies.md)

## 了解何时开放体验。

ipvolt · 开发中

我们正在为开发者和数据团队打造代理基础设施。加入意向名单，ipvolt 就绪时第一时间收到通知。

开放体验时仅发一封通知邮件，不发送其他邮件。

[申请抢先体验](https://ipvolt.com/zh/guides/http-vs-socks5-proxies#waitlist-closing)

[隐私政策](https://ipvolt.com/privacy)

