Web代理服务器的职责是:用来接收浏览器发送的请求,并将请求转发给真正的web服务器(其实就是存放请求资源的web服务器),然后接收web服务器返回来的内容并交给浏览器。
传统代理
代理服务器以前通常用来访问互联网的web站点,现在的浏览器也都有设置代理服务器的选项,包括QQ了飞信之类的,只要局域网中有一台机子可以连外网,局域网中的计算机都可以使用它作为代理服务器进行上网,当然这需要一些配置,配置问题不是我们今天讨论的内容,有兴趣同学可以自己配置一下
反向代理
“反向”,为什么叫做反向代理呢?
我们先分析一下传统代理,局域网中的计算机通过代理服务器访问web服务器,假如局域网中有20台机器都用该代理,那么对于web服务器来说都是同一台主机发送过来的请求,这样局域网中用户计算机对web服务器是透明的,代理服务器是在客户端
反向代理服务器呢?我们看一下反向代理服务器的工作流程,
只有传统代理: (浏览器<---->传统代理服务器(在客户端哦))<----->web服务器 注我用括号括起来代表他们是一家的,<----->代表二者可以互相传输数据。
只有反向代理: 浏览器<---->(反向代理服务器(在服务器端)<----->web服务器 )
既有反向代理也有传统代理 : (浏览器<---->传统代理服务器)<---->(反向代理服务器<----->web服务器 ) 我们通常将后者web服务器成为后端服务器
上面看来 反向代理服务器对用户浏览器透明,代理服务器在服务器端,有web站点的所有者负责配置或找人配置
由上面描述如果使用反向代理,我们知道用户浏览器首先访问的代理服务器,真正的数据放在后端的web服务器中,这样的话代理服务器就可以将web服务器反馈的数据给缓存起来,这样用户就下次请求的时候就不用再想web服务器端生成数据了,我们一般以apache,Ngix等作为后端web服务器,代理服务器一般使用Varnish,关于反向代理服务器的配置,这里就不在详述。
反向代理缓存是否可以取代web服务器的动态内容缓存?
这要根据具体情况了,加入你发现他们二者的工作内容相同,那么你可以完全替换掉web动态内容缓存,但是下面几种情况完全可以让两者和睦相处,形成多级缓存。
例如:如果我们站点访问量特别大,我们可能引入多台代理服务器(负载均衡的内容,没了解过的可以看一下我的关于负载均衡的笔记),则每台代理服务器第一次被请求或者缓存过期,都需要向web服务器获取数据,如果web服务器中有动态内容缓存,很好直接就返回了,否则就需要重新计算,假如我们的代理服务器较多,那么web服务器会重复这样的工作,如果我们使用动态内容缓存,那么性能提高一定很可观。
更多信息请查看 http://www.javady.com/index.php/category/thread
分享到:
相关推荐
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip 学习笔记HTML-css-JS.zip学习笔记HTML-css-JS.zip学习笔记...
Web安全学习笔记——Web-Sec Documentation是一份详细的知识库,旨在帮助读者理解并掌握Web安全相关的理论和技术。文档首先从Web技术的演化、网络攻防技术的发展以及网络安全观的演变三个方面进行阐述,让读者对Web...
ccnp学习笔记---stp
Python学习笔记--皮大庆
Python学习笔记0001 - 安装与配置Python开发环境 Python学习笔记0002 - 海龟画图 - 初画图形 Python学习笔记0003 - 海龟画图 - 变量 Python学习笔记0004 - 海龟画图 - for循环 Python学习笔记0005 - 海龟画图 - ...
Python学习笔记--笔记2
caffe学习笔记1-7-完整版-薛开宇
个人每天的学习笔记,之后几天持续更新,以此激励自己和希望他人有所借鉴。
TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 TypeScript Quickly-2020-英文版 学习笔记 ...
Pyhon学习笔记--作业2