Web服务器和应用程序服务器之间有什么区别

时间:2010-12-01 10:13:39

标签: webserver application-server

我总是对Web服务器和应用程序服务器感到困惑。谁能告诉我这两者之间到底有什么区别。

6 个答案:

答案 0 :(得分:4)

在实践中,差别不大,大多数人都会互换使用这个词。

对我来说微妙的区别是:

  • Web服务器提供网页和静态内容。不是动态内容。

  • 应用程序服务器可以是Web服务器(具有动态内容),但可能根本不是。它为程序员提供了一个API。

像往常一样,维基百科有最好的定义。

Web server

  

有助于提供可通过互联网访问的内容的计算机应用程序。

Application server

  

应用程序服务器是一个软件框架,专用于高效执行程序(程序,例程,脚本),以支持应用程序的构建。

     

...

     

应用程序服务器充当软件开发人员可通过平台本身定义的API访问的一组组件。

答案 1 :(得分:1)

应用程序服务器是任何应用程序级协议上的任何服务器。

HTTP是应用程序级协议,因此Web服务器是应用程序服务器。应用程序服务器也可以使用完全不同的协议。

然而,如果据说运行“web应用程序”,则Web服务器很可能被称为应用程序服务器,这通常意味着某种(任意)复杂程度的“动态”内容。这在技术上是无稽之谈,因为所有HTTP都在应用程序级别(并且在外面是黑盒子,因此无论是从“静态”内容还是“动态”内容提供的都是无关紧要的)。

尽管如此,区别的原因还是部分人仍将HTTP视为某种传输协议,并希望将应用程序“放在首位”,但主要是为了让市场营销人员暗示某种类型的正在进行有意义的区分,你应该投资他们的“应用服务器”而不是网络服务器。

答案 2 :(得分:0)

基本上,服务器只是计算机正在执行的任务。服务器不是机器的名称(尽管通常称其为服务器)。因此,一台机器可以作为Web服务器,应用程序服务器等工作。

Web服务器意味着服务器正在提供Web内容(HTML,PHP等)。典型的服务器软件是Apache或IIS。

应用程序服务器是一个更通用的术语。根据定义,Web服务器也是应用程序服务器(Apache软件是一个应用程序)。但是,应用程序服务器不仅限于提供Web内容。

我希望它不会太混乱; - )

答案 3 :(得分:0)

“Web服务器”意味着HTTP(很可能是HTML); “应用服务器”可以是任何协议。

甚至这种区别都不是100%,除此之外还有火焰领域和争论语义。

答案 4 :(得分:0)

如果您的问题来自Java域,应用程序服务器是完全符合J2EE规范的服务器,提供所有相关功能(例如Glassfish,JBoss,WebLogic)
另一方面, Web服务器只是轻量级服务器没有完全实现J2EE规范(例如Apache Tomcat)

答案 5 :(得分:0)

网络服务器:

  • Apache,IIS,nginx,Lighttpd等

他们可以通过INTERFACING生成动态内容 像CGI后端,PHP,.Net,Lua等应用程序 通过CGI,FastCGI,SCGI,模块等

Web应用程序服务器:

  • Tomcat / JBoss / GlassFish / WebSphere(Java脚本), G-WAN(ANSI C脚本)等

他们NATIVELY通过使用a来生成动态内容 INTEGRATED脚本引擎,如Java或C脚本 在上面的例子中。

应用程序服务器通常更快,因为它们 不必承受INTERFACE的开销 在服务器和脚本引擎之间。