(1)正向代理
先接收来自客户端的请求消息,然后转到互联网中(有缓存的话效果会更好,以前发送的消息更快)
也就是说,正向代理是代理客户端(反向代理是代理服务器)
正向代理隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替去请求
像vpn就是正向代理,代理这些客户端去访问服务器)(vpn可能本身在香港,日本....)
在国外搭建一台代理服务器,让代理服务器帮我们去请求google,然后代理把请求返回的内容再返回给我们
由于代理在转发过程可以查看请求的内容,所以可以根据内容判断是否允许访问。也就是说,通过代理可以禁止员工访问危险的网站,或者是与工作内容无关的网站
设置正向代理之后(在浏览器的设置窗口中的”代理服务器“一栏填写正向代理的IP地址),你在浏览器中输入网址后,浏览器就不会访问相应服务器,而是将请求发送给正向代理,再由正向代理转发给服务器
(2)反向代理
百度不止一台服务器(有些可能在北京,有些在上海.....)但是你输入一个域名www.baidu.com就能访问到这些服务器
反向代理就是代理服务器
比如拨打10086,每次都是不同的客服在接听,我们也不需要关心电话那边是谁,只要能够解答问题即可
这里10086总机号码就是我们说的反向代理。我们作为客户方,不知道真正提供服务的人是谁
也就是说,反向代理隐藏了真实的服务端
当我们请求 www.baidu.com 的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,我们不知道,也不需要知道,只需要知道反向代理服务器是谁就好了
在这个例子中,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去
我们常说的Nginx就是性能非常好的反向代理服务器,可以用来做负载均衡
总结:正向代理代理的对象是客户端,隐藏了真实的客户端
反向代理代理的对象是服务端,隐藏了真实的服务端