摘要:先不要被标题吓着,呵呵。
在 Windows/.NET 的Web应用架构中,基本上没有什么Web服务器与应用服务器(App Server)之分,都是 IIS 来共同负责,当然在 Windows 2003 的 IIS 6.0 的内部实现上,似乎也还是有点区分的,如 HTTP.Sys、HTTP SSL 及 ASP.NET 等,没有深究过,但整体上感觉还都是属于 IIS 一个整体。
在基于 Java 的 Web 应用架构中(PS:为什么不说是 J2EE 呢?个人觉得 J2EE 这个名词被滥用和用烂了,有些人拿 JSP 随便写个东西就说是 J2EE 应用,还分辩说大海里的水不叫水?其意是既然 J2EE 规范中有 JSP ,那用了 JSP 就可以名正言顺的叫 J2EE 应用了,我的意见是:大海里的水是叫水,但不能拿一滴水出来就说自已是大海吧?),一般是将 Web Server 和 App Server 明确划分开的,负责静态页面的 Web Server 一般由 Apache 来负责,负责 JSP/Servlet/EJB 的 App Server 由各厂商不同的产品负责,如 WebSphere、WebLogic 等,表面上看,也算不算的搭配,Web Server 接收所有的 HTTP 请求,如果发现是 JSP/Servlet 请求,再通过 App Server 的插件转给 App Server 来处理,并将结果再返回给客户端。
试想一下,真正 Web 应用有多少是静态页面?以前还真没注意过这个问题,最近接触了一个网上银行的系统,估算了一下,此系统的静态 HTML 页面不超过 50 个,而 JSP 有近 800 个,这样的结果是大约 95% 的请求都要由 Web Server 来转给 App Server 来处理,那么这种两个进程甚至两个机器间的通讯而带来的性能消耗是不是有点太大了?
当然 Web 应用中还有图形/图像文件、JavaScript、CSS 文件等静态内容,但这些内容都是可以缓存在客户端的。
在 Sina、网易或以信息发布为主这样的网站中,静态内容占绝大多数,使用 Web Server 是有道理的,但是如果基于 Java 的 Web 应用架构应用在企业中,静态内容很少,Web Server 是否是个多余的东西?再说了,这些......[
阅读全文]