代理,正向代理和反向代理

1. 代理

代理也被叫做网络代理,是一种比较特殊的网络服务,允许一个终端(通常指客户端)通过这个服务与另一个终端(通常指服务器端)进行非直接的连接。

例如:一些网关、路由器等网络设备都具备网络代理的功能。

代理服务有利于保障网络终端的隐私或者安全,可以在一定程度上阻止网络攻击(因为通过代理,可以隐藏真正的服务器端/客户端)

2. 正向代理

正向代理时,由客户端发送对某一个目标服务器的请求,代理服务器在中间将请求转发给该目标服务器,目标服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

在使用正向代理时,客户端需要配置代理服务的IP地址、端口号、以及相关的账号密码。

2.1正向代理的过程:

  1. 搭建一个属于客户端的代理服务器
  2. 客户端发送请求到代理服务器
  3. 代理服务器发送请求到目标服务器 (在目标服务器看来他的服务对象就是代理服务器,隐藏了客户端的存在
  4. 目标服务器将数据返回到代理服务器
  5. 代理服务器再将数据返回给客户端

代理,正向代理和反向代理_第1张图片

如上图所示:客户端:actor 正向代理服务器:服务器A

​ 目标服务器:服务器C

2.2正向代理的用途:

隐藏客户端的地址:对于目标服务器而言,代理服务器代表了客户端,所以在服务器上,看不到原始客户端的IP地址和端口号

客户端访问控制:可以集中部署访问策略在代理服务器上,限制客户端的访问行为,记录客户端访问记录。

提高网络利用率:代理服务器可以设置一个资源缓冲区,当转发请求服务器的信息给客户端时,同时也将其保存到缓冲区中作为备份,当其他的客户端发出访问时, 先在资源缓冲区查找,如果有相同资源,则直接由缓冲区中取出资源,传给客户端,提高了网络利用率,减少代理服务器对同一资源的重复访问。

3.反向代理

服务器根据客户端的请求,从其关系的一组或多组后端服务器(如Web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知代理服务器的IP地址,而不知道在代理服务器后面的服务器集群的存在。

3.1反向代理的过程:

  1. 客户端发送请求到目标服务器(访问的其实是反向代理服务器,但用户不知道
  2. 反向代理服务器发送请求到真正的目标服务器
  3. 真正的目标服务器将数据返回给反向代理服务器
  4. 反向代理服务器再将数据返回给客户端

代理,正向代理和反向代理_第2张图片

如上图所示:客户端:local 反向代理服务器:www.baidu.com

​ 目标服务器:server1,server2,server3等组成的集群

3.2反向代理的用途:

负载均衡:如果服务器集群中有负荷较高者,反向代理服务器通过URL重写,根据连线请求从负荷较低者获取所需相同的资源。可以有效降低服务器压力,增加服务器稳定性

隐藏服务器的地址:对于客户端而言,反向代理服务器就是服务器,从而对客户端隐藏目标服务器的IP地址和端口号。

加密/SSL加速:将SSL加密工作交由配备了SSL硬件加速器的反向代理来完成。提供缓存服务,加速客户端访问。

4.正向代理和反向代理的区别

4.1 隐藏信息的不同

正向代理隐藏了客户端的IP和端口号

反向代理隐藏了服务器的IP和端口号

4.2 对应条件不同

正向代理是1:1或者是N:1的

一个/多个客户端通过正向代理服务器访问一个服务器端

反向代理是1:1或者是1:N的

一个客户端通过反向代理服务器访问多个服务器端

你可能感兴趣的:(网络,http,https)