代理是代替客户端去访问服务器,反向代理是代替服务器接受客户端的请求
正向代理(Forward Proxy)
A找B直接沟通,这就等于没有代理。然而中间夹一个传话的C,C就是代理。A通过C把信息传递给B,然后C再把B的反馈转达给A。在这个过程中,A知道沟通的直接目标是B,只不过由于各种原因无法直接和B面对面,需要中间人C,这就是所谓“正向代理”
要点
- response 需要经过代理转交,client 地址发生了变化
- server 地址是不变的
- 代理中 没有存储 路由关系,仅仅根据目标地址获取返回结果
反向代理
A不知道B的存在,A只知道找C就可以得到想要的回复,对于A来说有没有B或者有多少个B、D、E、F……都不重要,只要有C就够了。而C则根据情况去获取反馈然后响应给A。
关键点
- response 需要经过代理转交,client 地址发生了变化
- server 地址发生了改变
- 代理中 存储了 路由关系,转发到对应的路由地址中获取请求