i3geek.com
闫庚哲的个人博客

正向代理、反向代理、透明代理以及CDN的区别

“代理”顾名思义,就是不通过自己,通过第三方去代替自己执行自己要做的事情。可以想象成在本机和目标服务器中又多了一个中间服务器(代理服务器)

正向代理

正向代理是一个位于客户端和原始服务器之间的服务器(代理服务器)。客户端必须先进行一些必要设置(必须知道代理服务器的IP和端口),将每一次请求先发送到代理服务器上,代理服务器转发到真实服务器并取得响应结果后,返回给客户端。

简单说明,就是代理服务器代替客户端去访问目标服务器。(隐藏客户端

作用:

  1. 绕过无法访问的结点,从另一条路由路径进行目标服务器的访问(比如 翻墙)
  2. 加速访问,通过不同的路由路径提高访问速度(现在通过带宽的提高等方式,基本不用此方式提速)
  3. 缓存作用,数据缓存在代理服务器中,若客户端请求的数据在缓存中则不去访问目标主机。
  4. 权限控制,防火墙授权代理服务器访问权限,客户端通过正向代理可以通过防火墙(比如 一些公司采用的ISA SERVER 权限判断)
  5. 隐藏访问者,通过配置,目标服务器只能获得到代理服务器的信息,无法获取真实访客的信息。

反向代理

反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理发送普通请求,接着反向代理将判断向原始服务器转交请求,并将获得的内容返回给客户端,就像这些内容原本就是它自己的一样。

简单说明,就是代理服务器代替目标服务器去接受并返回客户端的请求。(隐藏目标服务器

作用

  1. 隐藏原始服务器,防止服务器恶意攻击等,让客户端认为代理服务器是原始服务器。
  2. 缓存左右,将原始服务器数据进行缓存,减少原始服务器的访问压力。

透明代理

透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的request fields(报文),并会传送真实IP。注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了。

作用

透明代理实践的例子就是时下很多公司使用的行为管理软件。如下图3.1

CDN

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

正向代理与反向代理的区别

用途

正向代理

  1. 典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。
  2. 使用缓冲特性减少网络使用率。

反向代理

  1. 典型用途是将防火墙后面的服务器提供给Internet用户访问。
  2. 为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。

安全性

正向代理

允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。

反向代理

对外都是透明的,访问者并不知道自己访问的是一个代理。

反向代理与CDN的区别

简单来说,CDN是现在一种网络加速的解决方案,反向代理是将用户的请求转发给后端服务器的技术。
CDN是用到了反向代理的技术原理,其最关键的核心技术是智能DNS等。
赞(2)
未经允许不得转载:爱上极客 » 正向代理、反向代理、透明代理以及CDN的区别
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址