代理什么是代理

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

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

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

代理服务器

反向代理 缺点(正向代理与反向代理)(1)

左边和右边的电脑在通讯时候,需要经过中间的电脑中转,而中间的那部电脑就是代理服务器。

代理请求过程

反向代理 缺点(正向代理与反向代理)(2)

客户端首先根据代理服务器所使用的代理协议,与代理服务器创建连接,接着按照协议请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。

代理协议

此处的协议指的是网络传输协议。主要是两种:

网络传输协议在本篇就不做过多介绍。

正向代理

通常我们说的代理,都是指的正向代理。

反向代理 缺点(正向代理与反向代理)(3)

继续看这张图,你会发现,此处的代理服务器可以由客户端提供,也可以由服务器端提供。

当客户端主动使用代理服务器时,此时的代理叫正向代理。比如:一些网络代理工具(加速器/VPN…)

正向代理完整流程

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

使用正向代理时,客户端是需要配置代理服务的地址、端口、账号密码(如有)等才可使用的。

反向代理 缺点(正向代理与反向代理)(4)

通过上图可以看到,客户端并没有直接与服务器相连。正向代理隐藏了真实的客户端地址。可以很好地保护客户端的安全性。

正向代理的适用场景

反向代理 缺点(正向代理与反向代理)(5)

反向代理

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

反向代理 缺点(正向代理与反向代理)(6)

反向代理整个流程:由客户端发起对代理服务器的请求,代理服务器在中间将请求转发给某一个服务器,服务器将结果返回给代理服务器,代理服务器再将结果返回给客户端。

反向代理的适用场景

反向代理 缺点(正向代理与反向代理)(7)

正向代理与反向代理的区别

当前面的内容理解后,对于正向代理和反向代理的区别就很好理解了。

最核心的不同在于代理的对象不同。

而根据这核心的区别,我们也可以记住:代理哪端便可以隐藏哪端。

也就是说:

反向代理为什么叫反向代理

从我们用户的角度来看:代理我们发出请求的客户端被称为正向代理。而代理我们访问的服务器,则被称为反向代理。

从代理结构的角度来看(代理服务器在两种代理中的作用均为收发请求与响应):

反向代理 缺点(正向代理与反向代理)(8)

客户端与代理服务器属于一个局域网(看图左边),称为正向代理。

反向代理 缺点(正向代理与反向代理)(9)

服务器端与代理服务器属于一个局域网时(看图右边),称为反向代理。

总结

最后,请记住:

参考文章:https://www.zhihu.com/question/36412304/answer/2254739842

,