详解
代理服务器是一种网络中间件。客户端不直接连接目标服务器,而是连接到代理,由代理连接目标服务器,并在两个方向上转发流量。从目标服务器的角度来看,请求来自代理,而非客户端。从客户端的角度来看,代理是透明的:你发出请求,就好像在直接访问目标服务器一样。
代理服务器的价值取决于客户端与代理之间的链路。在消费者隐私方面,代理向目标服务器隐藏客户端的 IP 地址。在商业数据采集方面,代理将流量路由至特定地理区域或特定类型的 IP(住宅、ISP、移动),使目标服务器对请求做出不同的响应。在内部基础设施方面,代理执行访问策略、缓存响应,并为出站流量提供统一的管控节点。
"代理服务器"这一术语涵盖一个广泛的产品家族。正向代理(即上文所述的类型)位于客户端一侧,代表客户端访问公共互联网。反向代理位于服务器一侧,代表后端服务响应客户端请求。透明代理无需客户端进行显式配置即可拦截流量。每种形态解决的是不同的问题。
工作原理
典型的正向代理流程:您的客户端向代理服务器建立TCP连接,如有需要则进行身份验证,并发出CONNECT请求以指定目标主机和端口。代理服务器向该目标建立自己的TCP连接,并在两个连接之间传输字节流。对于HTTPS,加密是在您的客户端与目标之间端到端进行的——代理只能看到加密后的字节,而无法获取请求内容。
代理可按协议(HTTP CONNECT、SOCKS5)、按地理位置(通过指定国家/城市出口)、按会话(粘性或轮换)以及按身份验证方式(用户名/密码、IP白名单、令牌)进行配置。现代商业代理服务通过用户名字符串及HTTP/SOCKS5连接参数来开放所有这些配置选项。