浅析正反向代理
在日常使用计算机网络或开发相关应用过程中会经常听到正向代理和反向代理,一般新接触的同学都搞不清楚两者有什么区别,今天这篇文件主要讨论这个问题。
正向代理
正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。
以上是百度百科对正向代理的定义,通俗来讲,正向代理就是替客户端请求服务端,对于服务端来讲,我们接收到的是代理服务器的请求,关键点在于:正向代理一般是用户主动使用,且知道目标服务器,代理服务器代理的是客户端。
举个例子,我们想要访问 A 电脑上的数据,但是因为网络隔离,我们并没有相应的权限去访问,但是我们可以通过 A 电脑所在网络中的 B 电脑作为一个跳板,通过 B 去获取 A 的数据,然后将数据返回给我们。
因为服务端在正向代理模式下仅知道请求来自代理服务器,并不清楚具体请求方是谁,所以在使用正向代理的情况下,需要谨慎处理代理服务器的使用权限,确保仅授权用户可使用代理服务器。
反向代理
反向代理方式是指以代理服务器来接受网络上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给网络上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
同样,以上是百度百科对反向代理的定义,通俗来讲,反向代理就是替服务端接收请求和反馈相应内容,对于客户端来讲,请求的是代理服务器,但受到的却是其他服务器的相应。关键点在于:反向代理是服务端主动使用,客户端并不知道服务端的具体位置,仅知道代理服务器的位置,反向代理代理的是服务端。
同样举个例子,我们平时所访问的各大购物网站,我们在浏览器中数据网站,访问的可能是负载均衡服务器,然后负载均衡服务器再将我们的请求交给对应的服务器进行处理,对于我们来讲,处理请求的服务器是隐藏的,由代理服务器代理了它的位置。
差异点总结
差异 | 正向代理 | 反向代理 |
---|---|---|
使用方 | 客户端 | 服务端 |
实现方式 | 七层代理 | 四层代理、七层代理 |
安全性 | 相对较低 | 相对较高 |
常见应用 | VPN | 负载均衡 |
使用目的 | 突破网络隔离 | 隐藏服务端 |