正向代理服务器与反向代理服务器
1、背景
一些从事Web开发或者移动端开发的经验丰富的老程序猿们可能都不能清晰的解释这两者的差异,更何况刚踏入这个行业或者刚毕业找工作的同学们。今天就对两个概念进行一个小科普。笔者也是被这两个概念折磨了多年,终于在一天拨开云雾见青天。
2、正向代理服务器
正向代理也是我们大家接触最多的场景。平时大家是不是有需求要去国外的某歌网站查论文资料,或者搜索程序bug解决方案。此时你会发现正常在浏览器中输入网址是无法访问的,原因大家是知道的,此时我们需要一个梯子进行访问。这种方式的过程其实是找到一台可以访问国外网站的代理服务器,我们在浏览器输入某歌网址,敲回车键,浏览器其实是把请求发送给代理服务器,代理服务器去访问国外的网站并将国外网站返回的数据再返回给你的浏览器,你就能看到某歌网站了。
如上图所示,此种方式称之为正向代理。正向代理的特征是(划重点了):客户端(我们的浏览器)是明确要访问的真实服务器地址;服务器(某歌网站服务器)只知道代理服务器来访问他了,并不知道真实的客户端是谁(其实是你)。正向代理屏蔽了真实客户端的信息。
3、反向代理服务器
反向代理服务器其实也很好理解,我说一个场景大家可能立马就感觉亲切多了。双十一,某宝网站,今年有木有剁手。马爸爸的某宝网绝对是人气爆表,你觉得他们后台一台服务器来扛得住大家的热情么?必须搞不定,按照时下流行的架构,肯定是分布式、集群的方案。我们直接访问的其实是某宝对外的代理服务器(集群)。我们的真实访问流程是这样的:
如上图所示,此种方式称之为反向代理。反向代理的特征是(划重点了):客户端(我们的浏览器)是不知道要访问的真实服务器地址,But,我们知道要访问的代理服务器的地址;代理服务根据用户的请求,按照特定的策略选择一台真实的某宝服务器,转发用户的其请求,并将返回数据返回给客户端(你的浏览器),此时你就看到很多宝贝了,可以剁手了。反向代理服务器隐藏了真实服务器的信息(反正你也不关心真实的服务器是哪台,只要能剁手成功,都是好服务器)。
其实现实中很多场景下,正向代理和反向代理服务器会同时出现,如下图所示:
4、反向代理服务器作用
企业里见到比较多是反向代理服务器,它主要有如下几种作用:
①、安全保护。隐藏真实服务器的地址信息,对互联网的请求做一个过滤。
②、为后端服务器减压:静态资源如html、css、js、图片文件等可以路由到本地缓存,而不是找真实服务器要。
③、负载均衡器。提供了分布式部署的强有力的支撑。轮询、最小连接数、随机、一致性哈希、智能负载等多种负载策略。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论