【发布时间】:2011-10-07 16:56:24
【问题描述】:
作为外行,我如何理解 Web 服务器和应用程序服务器之间的区别?如果你能用非常“简单”的术语来举一个使用基于 Java 的 Web 应用程序的例子,那就太好了..
还有,当我们说 Weblogic 时,它只是一个 Web 服务器吗?
【问题讨论】:
标签: java web-applications webserver weblogic application-server
作为外行,我如何理解 Web 服务器和应用程序服务器之间的区别?如果你能用非常“简单”的术语来举一个使用基于 Java 的 Web 应用程序的例子,那就太好了..
还有,当我们说 Weblogic 时,它只是一个 Web 服务器吗?
【问题讨论】:
标签: java web-applications webserver weblogic application-server
我会说定义各不相同。在广义的上下文中,Web 服务器是一个可以接收传入的 Web 请求并知道如何处理和响应它们的服务器。有些请求是静态的(html 文件、图像等),有些是动态的。在动态请求的情况下,Web 服务器将知道在哪里处理请求,可以是 JSP 页面或 java servlet、PHP 脚本、perl CGI 脚本等。
虽然此上下文中的“网络服务器”执行动态处理程序,但它不被视为包含任何支持动态处理程序的中间件功能。
相比之下,应用服务器是提供某种类型的中间件层支持的通用执行环境。示例是 EJB 容器或内置于 Windows 中的 .NET 框架(其中 Windows 本身就是一个“应用程序服务器”)。应用程序服务器与 Web 请求没有任何内在要求(尽管很多都这样做),它只是提供某种额外中间件支持的任何类型应用程序的通用执行上下文和容器。
在纯粹以网络为中心的环境中,许多人会在静态内容与动态内容之间划清界限。在此定义中,“Web 服务器”只能处理对静态信息的请求,它会将对动态内容的请求传递给“应用程序服务器”。例如,Apache httpd 是一个 Web 服务器,而 Tomcat 是一个应用程序服务器。 IIS 是两者的结合。在 Java Web 世界中,应用服务器可以是一个 servlet 容器(如 Tomcat),也可以是一个成熟的 Java EE 容器(如 JBoss、WebLogic 或 WebSphere),它除了提供 Java EE 中间件支持 (EJB) 容器外servlet 容器。
【讨论】:
如果我们说 Web 服务器和应用程序服务器之间的主要区别,基本上就是这些服务器工作的协议。
Web 服务器 -- 它适用于 HTTP 和 HTTPS 等协议。此服务器的示例是 Apache。对于 Web 服务器,您使用 JSP、Servlet。
应用服务器——它适用于任何协议。例如 JBOSS。我们在应用服务器上托管 EJB、Web 服务或任何业务逻辑。
【讨论】:
Web 服务器是处理 HTTP 请求和响应的东西。
应用服务器(如 WebLogic、WebSphere、JBoss AS、Glassfish 等)通常包含一个 Web 服务器,但也添加了更多功能。最重要的是它管理对象。它们是否会是 servlet(Servlet 容器)、EJB(ejb 容器)、JMS 监听器等。
【讨论】:
除了之前的答案,Weblogic 是应用服务器,而不仅仅是 Web 服务器。
【讨论】:
Webserver 只能执行 Web 应用程序,即 servlet 和 JSP,并且只有一个称为 Web 容器的容器,用于解释/执行 Web 应用程序
应用程序服务器可以执行企业应用程序,即(servlet、jsps 和 EJB)它有两个容器 1. Web 容器(用于解释/执行 servlet 和 jsps) 2. EJB 容器(用于执行 EJB)。它可以执行负载均衡、事务划分等操作
【讨论】: