HTTP(s) 反向代理、TCP 代理、Socks5 代理三者之间有何区别?
似乎很多人都会对HTTP(s)反向代理、TCP代理和Socks5代理这三个专有名词有所疑问,它们分别指的是什么?三者之间有什么区别?在具体的使用方面有什么不同呢?本文就来对这些问题进行一个详细的解答。
HTTP(S) 反向代理
HTTP(S) 代理的用途范围很广,简单而言主要有:
- 终结HTTPS请求
- 更改 HTTP 标头
- 负载均衡器或 DMZ 前的公共 IP 提供程序,以屏蔽后端服务器
TCP代理
- 其用途之一是TCP连接的反向代理,一方面可以容纳HTTP,另一方面还可以支持其他应用层协议,比如FTP
- TCP 客户端可以连接到 TCP 代理上的单个套接字,而 TCP 代理可以打开到后端服务器的多个连接,类似于负载平衡器
SOCKS5代理
- SOCKS 服务器可以将 TCP 连接代理到任意 IP 地址并且提供一种转发 UDP 数据包的方法。
- 该代理的特点之一是可进行身份验证,所以仅仅有授权用户才能使用
- SOCKS5 是一个应用层协议,它的主要用途便是连接仲裁传输协议
- 适用于私人对公共 Internet 访问
由此我们可以看到三者的不同用途范围及其三者间的不同,接下来有一些常见的问题及其解答。
- 如果用户只接受 HTTP 网络流量,为什么应该使用TCP 代理而非 HTTP 代理?
- TCP 代理终止传入的 TCP 套接字,打开出站套接字并在其间移动数据,它不会也不能更改其间的数据。
- HTTP 代理理解 HTTP。它查看传入的 HTTP 请求并使用出站的、可能更改的 HTTP 请求来完成请求。代理可以读取 HTTP 的请求主机地址并以这种方式连接到多个主机,它可以处理TCP 代理不会处理的 HTTP 应用程序级别。
- TCP和SOCKS5代理之间有什么区别呢?
- SOCKS5 是一种通用代理协议,它可以做的不仅仅是 TCP 代理,包括一对多连接、监听端口和 UDP。