正向代理和反向代理区别详解(6大核心区别)

正向代理

正向代理位于客户端和目标服务器之间,客户端明确知道目标服务器的地址,但请求首先发送给正向代理服务器。

正向代理代表客户端向目标服务器发送请求,并将响应返回给客户端。

正向代理就像一个中介,客户端委托中介去访问目标服务器,目标服务器只知道中介的存在,不知道真正的客户端是谁。

正向代理和反向代理区别详解(6大核心区别)-mikechen

比如:你在公司电脑上访问被墙的 Google,通过配置正向代理(如 Shadowsocks),由代理服务器去请求 Google,这就是正向代理。

 

反向代理

反向代理位于客户端和后端服务器之间,客户端不知道真正的目标服务器是谁,只与反向代理服务器交互。

正向代理和反向代理区别详解(6大核心区别)-mikechen

反向代理就像一个服务台,客户端向服务台询问信息,服务台将请求转发给相应的部门。

并将结果返回给客户端,客户端只知道服务台的存在,不知道具体的部门。

比如:你访问百度首页,其实请求先到了百度前置 Nginx,再由它转发到后端多个服务节点处理,然后返回给你。

 

正向代理和反向代理区别

正向代理和反向代理是网络中两种常见的代理服务,它们在工作方式和应用场景上有明显的区别。

区别如下:

对比维度 正向代理 反向代理
代理对象 客户端 服务器端
使用者 客户端(如翻墙、匿名访问) 服务端(如负载均衡、安全控制、缓存等)
客户端感知 目标服务器不可感知客户端真实 IP 客户端不可感知后端服务器
目标服务器感知 感知的是代理服务器 IP 感知的是代理服务器 IP
使用场景 科学上网、访问被屏蔽网站、匿名浏览 负载均衡、动静分离、缓存加速、安全防护等
是否常用于 Nginx 很少,需借助第三方模块 是 Nginx 的核心应用场景之一

mikechen

mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复架构即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法
欢迎您,新朋友,感谢参与互动!