1.正向代理
正向代理是一个位于客户端和目标服务器之间的代理服务器(又称中间服务器)。
工作原理:
为了从目标服务器取得内容,客户端向代理服务器发送一个请求并且指定目标服务器,之后代理向目标服务器转发请求并且将获得的内容返回给客户端。
功能:
客户端必须要经过一定的特别配置才能使用。正向代理可以但不限于为局域网内客户端做代理,他扮演的角色类似于NAT。代理内部主机上网,共享上网,缓存,控制内网用户上网行为等功能(客户端需要设置代理服务器的IP和代理端口)
分析流程:
外网---modem(调制调节器,俗称“猫”)-----路由器(DHCP,SNAT共享上网,上网行为控制,限速等情况)-----------squid正向代理(共享上网,静态页面缓存加速,限速等)-------上网用户
正向代理服务的作用:
- 替代访问
- 加速访问;Cache作用Cache(缓存)技术和代理服务技术是紧密联系的(不光是正向代理,反向代理也使用了Cache(缓存)技术。例如, 在同一份局域网环境下,A同学要去下载一部电影,但是B同学恰巧已经下载过,这个时候代理服务器可以将这个电影保存在代理服务器上一段时间,A去下载的时候直接返回A,不需要再次下载。这个就是通过Cache命中,来达到加速访问的作用。
- 客户端访问授权;例如:某个涉密机构不允许随便访问外网,这个时候就可以用正向代理服务器,为不同的用户分配固定的IP和ID身份识别,客户端通过设置代理服务器访问网络,代理服务器会检查网络数据包,对非允许进入内网的数据进行过滤。
- 隐藏访问者的行踪;例如:某黑客为了防止自己浏览网页被追踪,采用代理服务器去访问网页,网站服务器只能看到代理服务器在发送请求,并不知道黑客的真实IP
2.透明代理
透明代理,其实也叫内网代理、拦截代理以及强制代理。透明代理和正向代理的行为很相似,但是细节上有所不同。
工作原理:
透明代理将拦截客户端发送的请求,拦截后自己代为访问服务端,获取相应结果后再由透明代理交给客户端。一般公司内的上网行为管理软件就是透明代理。
正向代理和透明代理的区别:
使用上,客户端不需要设置代理服务器的IP和代理段偶,对用户是透明的。
客户端要访问www.baidu.com,如果是正向代理的方式,客户端会致命它要较为正向代理服务,就像路由中说要交给网关一样。如果是透明代理的方式,则是发送出去,然后被透明代理拦截,客户端以为请求的这个过程是自己完成的,并不知道是透明代理完成的。
- 正向代理,客户端明确要求交给正向代理服务,设置代理。透明代理,客户端不知情。
- 正向代理为了实现某些额外的需求,有可能会修改请求报文。透明代理不会
- 正向代理可以是内外网。透明代理只能是内网
3.反向代理
反向代理是跟正向代理相反,对于客户端而言,反向代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。
工作原理:
客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将判断向何处转发普通请求,并将获得的内容返回给客户端,使得这些内容就想自己的内容一样。
反向代理,从外部网络访问内部服务器,与正向方向相反,主要用于网站架构的缓存加速或CDN
作用:
- 保护和隐藏资源服务器
- 负载均衡,CDN技术就是利用反向代理技术
正向代理和反向代理的区别:
- 正向代理典型用途,在防火墙内的局域网客户端提供访问外网的途径。还可以使用Cache降低网络使用率。
- 反向代理典型用途,将防火墙后面的服务器提供给外网用户访问。还可以给后端的多台服务器提供负载均衡,并且提供缓冲服务。
- 正向代理允许客户端通过它访问任意网站,用于隐藏客户身份。
- 反向代理对外都是透明的,访问者不知道自己是一个代理,有效保护主机安全。