正向代理和反向代理

原文链接:https://www.cnblogs.com/Anker/p/6056540.html

一、正向代理

 正向代理类似一个跳板机,代理访问外部资源。

 举个例子:

  我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,它能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

  客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。

  正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。

正向代理的用途:

(1) 访问原来无法访问的资源,如google

(2) 可以做缓存,加速访问资源

(3) 对客户端访问授权,上网进行认证

(4) 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

二、反向代理

  反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的作用:

(1) 保证内网的安全,可以使用反向代理提供WAF(web应用防护系统)功能,阻止web攻击大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。

(2) 负载均衡,通过反向代理服务器来优化网站的负载

三、总结(两者的区别)

1. 正向代理:客户端访问的还是目标服务器的地址,但是请求内容是由代理服务器完成的,所以需要在客户端设置代理服务器的地址和端口,让客户端知道通过代理服务器去访问目标服务器获取内容。

2. 反向代理:客户端访问的是代理服务器的地址,代理服务器通过接受客户端的请求,转发给目标服务器。

posted @ 2019-09-16 16:41  codedot  阅读(276)  评论(0编辑  收藏  举报