代理服务器(Proxy Server)是指提供代理服务的电脑系统或其他类型的网络终端,代理网络用户去取得网络信息。
形象地说,它就是网络信息的中转站,就像一个大的Cache一样,能显著提高浏览速度和效率。
使用代理服务器主要有以下一些好处/功能:
提高访问速度
通常代理服务器都会这只一个较大的硬盘缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,会直接由缓冲区中取出信息传给用户,以此来提高访问速度。
防火墙作用
由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可以在代理服务器上设限,过滤掉某些不安全信息。同时,正向代理中上网者可以隐藏自己的IP,免受攻击。
突破访问限制
互联网上有很多开放的代理服务器,当客户机在访问受限时,可以通过不受限的代理服务器访问目标站点。比如说我们使用的翻墙浏览器就是利用了代理服务器,直接访问国外网站。也可以访问一些单位或团体的内部资源(内部局域网共享资源),比如在某个大学的FTP上进行上传下载,当然前提是该代理地址在该资源的访问范围之内。
代理服务器主要分为两种,一种是正向代理,一种是反向代理。
正向代理(Forward Proxy)
正向代理是一个位于客户端和原始服务器之间的服务器。为了从原始服务器取得内容,客户端向代理发送一个请求并制定目标(原始服务器),然后代理向原始服务器转发请求获得内容,然后将获得的内容返回给客户端。我们平常说的代理通常都是指的正向代理。
可以举个形象的例子来说明:有一天,A君看到C君有巧克力(资源),然后A君就想吃C君的巧克力。可是怎么办,A君和C君不熟吖,不能直接向C君要巧克力吃(访问受限)。这时A君就很苦恼,要怎样做才能吃到C君的巧克力呢?于是A君想啊想啊终于想到了一个办法,就是找和C君关系好的B君(代理),找他去和C君要巧克力,然后再从B君那里拿到巧克力吃。这样,A君就吃到C君的巧克力了,即使C君可能永远不会知道A君吃了TA的巧克力。
正向代理主要有以下应用:
1.访问原来无法访问的资源。
2.用作缓存,加快访问速度。
3.对客户端访问授权,上网进行认证。
4.代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息。
反向代理(Reverse Proxy)
反向代理则是以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求的客户端。这个时候的代理服务器对外表现就是一个反向代理服务器。在用户看来,他只是访问了代理服务器而已,实际访问的服务器他并不知道,也无需关心。
同样举个例子来说明:有一天,A君想吃巧克力了,就打电话给B君,B君也没有巧克力,可是却不告诉A君,而是悄悄去向C君要了巧克力,然后给A君送了过去。A君只会以为巧克力是B君的,永远不知道C君的存在。实际上,A君只要知道B君能给到TA巧克力就足够了,至于巧克力是怎么来的,其实一点都不重要。
反向代理主要有以下应用:
1.保护内网安全。
2.负载均衡。
3.缓存,减少服务器压力。
正向代理和反向代理的区别
正向代理和方向代理的区别,主要在代理对象、服务器架设位置、用途和安全性几个方面。
代理对象不同
正向代理的代理对象是客户端,服务端不知道实际发起请求的客户端。还是上面的举例,C君(服务端)不会知道A君(客户端)通过B君(代理)吃到了TA的巧克力,只会知道B君拿了TA的巧克力。简单理解就是,B君(代理)是站在A君(客户端)这边的。
反向代理的代理对象是服务端,客户端不知道实际提供服务的服务端。同样上面的举例,A君(客户端)不会知道巧克力是B君(代理)从C君(服务端)那里拿来给TA的,只会知道是B君给TA的。简单理解就是,B君(代理)是站在C君(服务端)这边的。
服务器架设位置不同
正向代理的服务器是架设在客户机和目标主机之间的。
反向代理的服务器是架设在服务器端的。
从代理对象的不同上可以很好理解为什么服务器架设位置不同。
用途不同
正向代理的主要用途,是为在防火墙内的局域网客户端提供访问Internet的途径。
反向代理的主要用途,是将防火墙后面的服务器提供给Internet访问。
安全性不同
正向代理允许客户端通过代理服务器访问任意网站,并且可以隐藏客户端自身,因此必须采取安全措施以确保仅为已授权的客户端提供服务。
反向代理对外都是透明的,访问者并不知道自己访问的是哪一个代理。
其实正向代理和反向代理的区别用一张图就足以表达了:
这张图来自某位知乎大神,特别传神哈哈哈,膜拜。
总的来说,正向代理是从客户端的角度出发,服务于特定用户(比如说一个局域网内的用户),以访问非特定的服务;反向代理则正好相反,是从服务端的角度出发,服务于非特定用户(通常是所有用户),以访问特定的服务。
"有的人还来不及认识,可能就已经没有机会告别了。"