Java 基础 代理

深究Java基础

Posted by lichao modified on December 25, 2019

代理是代替客户端去访问服务器,反向代理是代替服务器接受客户端的请求

正向代理(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 地址发生了改变
  • 代理中 存储了 路由关系,转发到对应的路由地址中获取请求