关于正向代理和反向代理

正向代理

什么是正向代理,

比如说你想要问A借钱,但是A不直接借给你。于是你通过中介B向A借到了钱。
这里的中介B就是一个非常重要的角色代理

也可以说是正向代理。因为有B做中介,所以其实A是不知道最后是谁借了他的钱的。这点很重要!

我们常说的代理就是这样的正向代理。它隐藏了真实的用户请求(相当于借钱的你)。服务器(A)不知道真正的客户端是谁。因为中间存在一个代理服务器(B),它来代替客户端向服务器发送请求(借钱),再将返回的回应(借到的钱)返回给客户端。(把钱给你)

举个例子的话,
就相当于你在国内无法上twitter,但是你如果在海外搭建一个正向代理服务器,它代替你发送请求,再把请求返回给你,你就可以在国内自由twitter了。

反向代理

反向代理就像你打电话给A借钱。(对又是借钱)
但是A请了一个客服公司来处理借钱事务。这次呢接线员B、C、D、E ….都有可能接到你的电话,并且为你处理你的借钱请求。

这就是反向代理,也就是说你是不知道谁是为你服务的人。

也就是说反向代理隐藏了真实的服务器,当我们向服务器发送请求的时候,其实是向反向代理服务器发送请求。然后反向服务器会帮我们把真实请求发送到真实的服务器那里。

Nginx就是很好的反向代理服务器,经常用来做负载均衡。

这两者的区别在于: 代理的对象不一样。

正向代理代理的对象是客户端。
反向代理的对象是服务器端。