透明代理(transparent proxy):
内网代理(inline proxy)
拦截代理(intercepting proxy)
强制代理(force proxy)
透明代理会拦截客户端发送的请求,拦截后自己代为访问服务端,获取响应结果后再由透明代理交给客户端。
例子:在公司内网,上外网的行为管理软件,就是透明代理。
特点:
客户端代理,服务端的以拦截的行为进行代理;
客户端访问正常网址;客户端无感知有代理工作的存在(客户端不需要配置proxy);
正向代理(forward proxy):
转发代理
例子:ie浏览器通过配置proxy来访问外网
特点:
客户端代理,客户端通知服务端要对那些域名进行代理;
客户端需要配置proxy服务器,然后客户端访问正常网址,代理服务器去和正常网址交互,再把结果转发给客户端;
反向代理(reverse proxy):
服务端代理
例子:nginx,haproxy
特点:
服务端代理,与客户端无关;
隐藏服务端真实ip;
均衡负载/提高访问速度/提供安全保障
正向代理和透明代理的区别,细分起来还是有不少的,但主要几点:
- 正向代理时,客户端明确指明请求要交给正向代理服务,也就是说要设置代理。而透明代理对客户端是透明的,客户端不知道更不用设置透明代理,但是客户端发出去的请求都会被透明代理拦截。
- 正向代理为了实现某些额外的需求,有可能会修改请求报文,但按照RFC文档的要求,透明代理不会修改请求报文。
- 正向代理可以内网也可以外网,但透明代理都是内网。