目录
一、什么是正向代理?
二、什么是反向代理?
三、正向代理和反向代理的作用
一、什么是正向代理?
正向代理,“它代理的是客户端”,是一个位于客户端和目标服务器之间的服务器,为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标(目标服务器),然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。正向代理中目标服务器并不知道访问它的真实用户是谁,因为和它交互的是代理服务器。
很多时候我们上网的网速特别慢,或者说由于翻墙问题导致我们无法访问到国外的网站,通常这些情况我们会通过给浏览器配置一个网速快的、可以翻墙的代理ip及端口号来解决我们的问题,那么配置好之后,大概的请求流程如下图所示:
我们首先请求代理服务器,然后代理服务器帮我们去快速访问国外的网站,对于这种代理方式,我们就称之为正向代理。请记住,上面说到代理模式的两个角色中,我们当前的角色为 被代理者,也就是浏览器这个角色。更重要的是,正向代理的本质是我们去请求外部的资源,如果以生产者、消费者模式来区分,我们属于消费者。
总结:
- 1、正向代理,我们的角色是 被代理者
- 2、正向代理,我们不对外提供服务,反而是对外消费服务,属于消费者
二、什么是反向代理?
反向代理,“它代理的是服务端”,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。
用户将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再返回给客户端,这个过程中用户并不知道真正的请求发送到哪台服务器上了。
正向代理中目标服务器不知道用户是谁,反向代理中则相反,是用户不知道目标服务器是谁。
通常你们公司拥有自己的IDC机房,机房通讯通常采用局域网交换机,internet网用户请求是无法直接访问到局域网内的web服务的,因此这个时候,你需要一台反向代理服务器来接收internet web请求,然后将请求分发到局域网中的不同主机上进行处理,处理完成之后再做出响应。因此,反向代理大概就是这么一个场景。请记住,反向代理中,我们的角色是 局域网 web服务。
总结:
- 1、反向代理,我们的角色是 局域网 web服务
- 2、反向代理,我们对外提供服务,属于服务提供者
三、正向代理和反向代理的作用
- 正向代理的作用一般是用来隐藏真实客户端的,通过代理服务器为客户端收发请求,使真实客户端对服务器不可见。
- 反向代理的作用是用来隐藏真实服务器的,为服务器收发请求,使真实服务器对客户端不可见。一般在处理跨域请求的时候比较常用。现在基本上所有的大型网站都设置了反向代理。
反向代理总结:
- 可以起到保护网站安全的作用,任何来自Internet的请求都必须先经过代理服务器。
- 通过缓存静态资源,加速Web请求。
- 实现负载均衡。