HTTP(s) 反向代理、TCP 代理、Socks5 代理之间的区别?

Difference between HTTP(s) Reverse Proxy, TCP Proxy, Socks5 Proxy?

这是我对这些的理解,我发现那里几乎没有差距;特别是何时何地使用

HTTP(s) 代理:

TCP 代理

我的问题

SOCKS5 代理

Socket Secure (SOCKS) is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 additionally provides authentication so only authorized users may access a server. Practically, a SOCKS server proxies TCP connections to an arbitrary IP address, and provides a means for UDP packets to be forwarded.

SOCKS 在 OSI 模型的第 5 层执行(session 层,表示层和传输层之间的中间层)。 SOCKS 服务器接受 TCP 端口 1080 上的传入客户端连接

我的问题

If I only accept HTTP web traffic what are the use cases where we should use TCP proxy instead of HTTP Proxy

TCP 代理终止传入的 TCP 套接字,打开出站套接字并在其间移动数据。它不会't/can不更改中间的数据,因为它不理解任何数据。大多数情况下,TCP 代理只能创建到单个 host:port 组合的连接。

HTTP 代理理解 HTTP。它查看传入的 HTTP 请求并使用出站的、可能已更改的 HTTP 请求来完成请求。代理可以读取 HTTP 的请求主机地址并以这种方式连接到多个主机。它知道 TCP 代理不知道的 HTTP 应用程序级别。一些 HTTP 代理甚至可以完成 FTP 或仅使用 HTTP 的客户端的 HTTPS 请求。

“正向”代理是从私有连接到 public IP space(这是代理的最初想法)的代理,而“反向”代理是从 public 到私有 IP(例如,将不同的 Web 服务器映射到单个 public IP)。从技术上讲,它是相同的,但是从安全 POV 来看有很大的不同(在“正向”中你信任客户端,在“反向”中你信任服务器)。

Is this understanding connect? TCP clients can connect to a single socket on TCP proxy and TCP Proxy can open up multiple connections to the backend servers something similar load balancers

是的。

Difference between TCP and SOCKS5 proxy

SOCKS5是一个通用的代理协议,比TCP代理能做更多的事情,包括一对多连接、监听端口和UDP。

In TCP/IP model is it a transport layer protocol

对我来说,SOCKS5 是一种应用层协议,用于仲裁传输协议连接。一些人认为 SOCKS5 是传输层和应用层之间的会话层协议 - 这有一定道理,但会话层在 TCP/IP.

中定义不正确

What are the use cases for proxying UDP connections

例如,SOCKS5 可用于私有到 public Internet 访问或(不安全)public 到私有 LAN 访问。