前面介绍了为什么会有代理的存在?以及什么是代理?再看下什么是正向代理?什么是反向代理?
正向代理一般从客户端角度出发,即为了从原始服务器中取得内容,由客户端向代理服务器发出请求,并指定目标访问服务器,而后,代理服务器向目标服务器转交请求,并将获得的内容返回给客户端。
注意:在正向代理过程中,隐藏了真实请求的客户端,即服务端不知道真实的请求客户端。
反向代理一般从服务端角度出发,客户端向反向代理服务器发出请求,反向代理服务器收到请求后判断请求走向何处,然后再将响应结果反馈给客户端。
注意:在反向代理过程中,隐藏了内部服务器的信息,用户不需要知道哪一台服务器提供的服务,只需要知道反向代理服务器就好了,甚至可以把反向代理服务器当做真正服务器看待。这种形式的代理通常被用作实现负载均衡,比如Nginx一个出色的反向代理服务器。
二者的区别:
正向代理是客户端知道目的服务器,然后通过代理服务器去访问客户端不能直接访问的目标服务器,而目标服务器并不知道客户端通过什么来访问的。
反向代理是客户端不需要知道目的服务器,由反向代理服务器来转发到相应的服务器上,起到负载均衡的作用。而服务端知道请求的来源以及数据 。
正向代理的使用场景:客户端没有直接访问目的服务器的权限或者是网络不可达。
反向代理的使用场景:1) 客户端不关心目的服务器;2) 由代理来调度请求,起到负载均衡的作用。
网友评论