代理服务技术是一门很古老的技术概念,在互联网早期出现就使用的技术。一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,达到代理的目的。
-
正向代理(forward proxy)
一般常用的就是正向代理,如下图,正向代理就是一个位于请求者A和被请求者B之间的服务器C,为了从原始服务器B取得内容,用户A向代理服务器C发送一个请求并指定目标(服务器B),然后代理服务器C向被请求者服务器B转交请求并将获得的内容返回给请求者。客户端必须要进行一些特别的设置才能使用正向代理
正向代理简单来说就是替代请求者访问方目标服务器,这样显然就能想到正向代理在不同环境下代理的2个作用:
- 对于请求者A来说,如果A由于种种原因无法访问B,需要第三方C做桥梁,能够破除了访问路径的限制,比如vpn网关,翻墙。
- 对于服务器B来说,由于距离请求者太远、路由表不稳定和复杂等原因,不能提供质量佳的服务,使用中间代理C提供一个中间节点,减少A和B之间的路由,降低了访问延迟,同时如果代理C还能缓存一些常用数据,还能减轻服务器B的资源压力,同时也能给请求者A一个良好的体验。
- 当然还能有其他的作用了,只要和网络有关的,就能做各种限制和隐藏访问/被访问的身份
-
反向代理(
reverse proxy
)
反向代理就是反过来,实际的服务器B让代理C替代它完成请求的接受,反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。这里的反向代理服务器C依据使用数据处理方式的不同有以下几个功能:
- 由于对外只用暴露出代理C的地址,代理C到真是服务器B之间可以达到隐匿B的目的,提高真实服务器的安全性
- 代理C提供常用数据的缓存,降低服务器B的资源使用的压力,提高客户A的访问质量
- 代理可以做访问数据的类型,做用户的行为管理
以上内容只是对于请求者向B访问的情况,如果B反过来向A交换数据,我们会发现代理的天然特性就提现出来了:
- 它能够隐藏访问者或是被访问者的真实身份(身份隐匿)
- 作为数据中间节点,可以做到流量控制、访问控制(不同地区的限制和不同数据查看权限的限制)
总结一下:
代理就是架设在客户和服务器之间的一个中间节点,它可以起到突破访问限制、提法访问速度、降低服务器资源压力的作用,如果在代理上做了相应的访问控制,还能做到各种访问限制,隐匿访问者和被访问者的身份的作用
Reference:正向代理和反向代理的区别
来源:https://www.cnblogs.com/firewalld/p/12423310.html