代理服务器与反向代理服务器的区别

今天在看关于nginx,nginx是个高性能的HTTP 和反向代理服务器。对于咱们作android开发的童鞋来讲,有点懵逼,网上搜罗了下资料,什么是反向代理服务器,代理服务器咱们常常接触到,原来是如此:android

 

说到代理服务器,大部分人都应该比较熟悉了。记得在学校的时候由于校园网没法访问国外网站,所以常常使用代理来访问国外的网站。可是提到反向代理服务器可能大部分人就比较陌生,对于通常的代理服务器与反向代理服务器的区别估计也不是那么清楚。nginx

因工做须要就研究了一下,搞清了是怎么回事,这里作个笔记,也为你们所共享。后端

代理服务器一般分为两类,即转发代理(forward proxy)服务器和反向代理(reverse proxy)服务器。转发代理服务器又一般简称为代理服务器,咱们常提到的代理服务器就指的是转发代理服务器。浏览器

转发代理服务器缓存

普通的转发代理服务器是客户端与原始服务器之间的一个中间服务器。为了从原始服务器获取内容,客户端发送请求到代理服务器,而后代理服务器从原始服务器中获取内容再返回给客户端。客户端必须专门地配置转发代理来访问其余站点,如在浏览器中配置代理服务器地址及端口号等。安全

转发代理服务器的一个典型应用就是为处于防火墙后的内部客户端提供访问外部Internet网,好比校园网用户经过代理访问国外网站,公司内网用户经过公司的统一代理访问外部Internet网站等。转发代理服务器也可以使用缓存来缓解原始服务器负载,提供响应速度。服务器

反向代理服务器网络

而反向代理服务器则相反,在客户端来看它就像一个普通的Web服务器。客户端不要作任何特殊的配置。客户端发送普通的请求来获取反向代理所属空间的内容。反向代理决定将这些请求发往何处,而后就好像它自己就是原始服务器同样将请求内容返回。负载均衡

反向代理服务器的一个典型应用就是为处于防火墙后的服务器提供外部Internet用户的访问。反向代理可以用于在多个后端服务器提供负载均衡,或者为较慢的后端服务器提供缓存。此外,反向代理还可以简单地将多个服务器映射到同一个URL空间。性能

二者区别

二者的相同点在于都是用户和服务器之间的中介,完成用户请求和结果的转发。主要的不一样在于:

(1)转发代理的内部是客户端,而反向代理的内部是服务器。即内网的客户端经过转发代理服务器访问外部网络,而外部的用户经过反向代理访问内部的服务器。

(2)转发代理一般接受客户端发送的任何请求,而反向代理一般只接受到指定服务器的请求。如校园网内部用户能够经过转发代理访问国外的任何站点(若是不加限制的话),而只有特定的请求才发往反向代理,而后又反向代理发往内部服务器。

版权全部: 非特殊声明,均为本网站原创文章,转载请指明出处: 企业网D1net

所谓的反向代理就是指代理服务器来接受internet上的链接请求,而后将请求转发给内部网络上的服务器,并将从服务器上获得的结果返回给internet上请求链接的客户端,此时代理服务器对外就表现为一个Web服务器,可是此服务器上不存在任何资源,用户所请求的数据所有在内部网络中,所以若是受到被人的攻击,直接攻向的目标是反向代理服务器,内网数据不会直接受到破坏。 
反向代理服务器一个很好的应用是CDN(Content Delivery Network),即就是内容分发网络。基本思路是尽量避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。经过在网络各处放置反向代理节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统可以实时地根据网络流量和各节点的链接、负载情况以及到用户的距离和响应时间等综合信息将用户的请求从新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,有效解决网络拥挤的情况,提升用户访问网站的响应速度。

反向代理(Reverse Proxy) 
是指以代理服务器来接受internet上的链接请求,而后将请求转发给内部网络上的服务器,并将从服务器上获得的结果返回给internet上请求链接的客户端,此时代理服务器对外就表现为一个服务器。 
当一个代理服务器可以代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就能够简单把它看成一个标准的Web服务器而不须要特定的配置。不一样之处在于,这个服务器没有保存任何网页的真实数据,全部的静态网页或者CGI程序,都保存在内部的Web服务器上。所以对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就加强了Web服务器的安全性。

转载自:https://blog.csdn.net/csdn_chb/article/details/53296385