应用程序服务器是否类似于Web服务器上的附加应用程序服务层?
应用程序服务器是否始终以Web服务器为核心?
有什么区别?
答案 0 :(得分:21)
不,应用程序服务器不包含Web服务器...
阅读以下文章......
http://www.answers.com/topic/application-server
http://download.oracle.com/docs/cd/E19159-01/819-3671/ablat/index.html
基本上:
在20世纪90年代中期网络爆炸后,应用服务器变成了基于Web的。
以下显示了Web服务器,Web容器和应用程序服务器之间的区别......
Web服务器,Web容器和应用程序服务器之间的区别
Web服务器是一种能够接收HTTP请求,解释它们,处理相应的HTTP响应并将它们发送到适当的客户端(Web浏览器)的服务器。示例:Apache Web Server。阅读有关Web服务器及其工作>>
的更多信息Web容器是一种符合J2EE的实现,它为Servlet和JSP提供运行环境。换句话说,我们可以说Web容器是Servlet引擎和JSP引擎的组合。如果HTTP请求引用Web组件(通常是Servlet或JSP),则请求将转发到Web容器,请求的结果将发送回Web Server,Web Server使用该结果为Web组件准备HTTP响应特定的HTTP请求。示例:Tomcat是典型的Web容器。典型的设置是将Apache HTTP Server作为Web服务器,将Tomcat作为Web容器。
Application Server 是一个完整的服务器,除了提供Web容器以及Web容器的功能外,还提供运行业务组件(EJB,ADF BCs等)的环境。网络服务器。示例:Bea WebLogic,IBM WebSphere,Oracle 应用服务器等
答案 1 :(得分:7)
实际上,随着网络的爆炸式增长,尤其是“网络服务”,所有现代App Server也可以充当Web服务器。例如,当前版本的Tomcat包含内置Web服务器功能,因此您不再必须运行单独的Apache HTTP服务器。过去,运行单独的专用Web服务器(如Apache)是可取的,因为App Server针对App Server进行了优化,而不是针对Web Server进行处理;但是作为Web服务器的App Server的性能已经提高,任何剩余的性能差异都无关紧要 - 当然也不能证明运行单独服务器的成本是合理的。
今天,主要区别在于App Server旨在支持Java等编程语言,或者在.net平台上支持C#,以及提供包含自动容错,会话管理的底层基础架构,事务管理,多线程 - 以及构建可扩展企业应用程序所需的一切。当前的Web服务器旨在支持Ruby,PHP,Python和Perl等语言 - 并且缺少App Server的内置基础结构。
然而,应用服务器和Web服务器之间的区别正在变得模糊,并将继续这样做,因为“Web服务”变得越来越流行,而像Ruby这样的语言已经成熟,因此需要Web服务器提供大部分相同的底层基础架构作为今天的App Server。最后,主要区别(尚未):如果您想使用Java或C#开发应用程序的后端(云)层,请使用App Server;如果您想使用Ruby,PHP或Perl开发应用程序,请使用Web服务器。
答案 2 :(得分:0)
虽然Web服务器主要处理 发送HTML以在Web中显示 浏览器,应用服务器 提供对业务逻辑的访问 由客户端应用程序使用。