代理
网络代理
代理(proxy)也叫网络代理,是一种特殊的网络服务,允许一个终端通过这个服务与另一个终端间接连接。
代理请求
客户端先与代理服务器创建连接,根据代理服务器所使用的代理协议请求目标服务器,创建连接或获取资源。
代理协议
FTP协议,上传下载文件(端口20/21等);Telnet协议,远程控制(端口23等);POP3/SMTP协议,收发邮件(端口110/25等);RTSP协议,流媒体服务(端口554等);HTTP协议,网页访问(端口80/8080等);HTTPS协议,安全的HTTP协议,SSL/TLS + HTTP(端口443等);SOCKS协议,不加密只传递数据包(端口1080等)。
优缺点
隐藏真实IP,有助于保护隐私;隐藏真实IP,加大取证难度;间谍代理,记录所有经过的数据(包括账户密码等)。
正向代理
访问方式
正向代理,代理的是客户端和目标服务器进行交互。用户知道代理服务器的存在,甚至需要本地部署应用配合访问,例如VPN等。
使用途径
突破访问限制,绕过IP封锁;提高访问速度,通过缓存将资源直接返回;隐藏用户真实IP,免受攻击。
反向代理
访问方式
反向代理,代理的是目标服务器和客户端进行交互。用户不知道或不易觉察到代理服务器的存在,一般部署在目标服务器上,例如Nginx等。
使用途径
负载均衡,将客户端的请求分发到不同的真实服务器;提高访问速度,通过缓存将资源直接返回;安全保障,提供基于Web攻击行为(例如Dos/DDos)的防护;隐藏服务器真实IP,免受攻击。
总结
代理服务器的整体概念很好理解,但具体往下细分仍有很多类别,例如服务器的用途、使用的协议、安全性、匿名性等。这其中最重的是与之相关的诸多协议,如FTP、Telent、POP3、SMTP、HTTP、HTTPS、SOCKS等,理解这些协议有助于理解互联网的原理。