最专业的八方代购网站源码!

资讯热点
Web服务器,应用程序服务器,HTTP服务器差异

发布时间:2021-1-10 分类: 行业资讯

IIS,Apache,Tomcat,Weblogic和WebSphere都属于哪种服务器。这些问题已经混淆了很长时间,最后它们今天已经清楚地解决了:

Web服务器的基本功能是提供Web信息浏览服务。它只需要支持HTTP协议,HTML文档格式和URL。适用于客户端的Web浏览器。由于Web服务器支持的主协议是HTTP,HTTP服务器和WEB服务器通常是相同的(没有Web服务器支持HTTP以外的协议,作者还没有验证它),这是一回事。

应用程序服务器(称为应用程序服务器),让我们来看看Microsoft对它的定义:'我们将应用程序服务器定义为“服务器执行共享业务应用程序的底层系统软件”。正如文件服务器为许多用户提供文件一样,应用程序服务器允许多个用户同时使用应用程序(通常是客户端创建的应用程序)'

通俗地说,Web服务器的服务页面允许浏览器浏览,而应用程序服务器提供客户端应用程序可以调用的方法。确切地说,您可以说: Web服务器专门处理HTTP请求,但应用程序服务器通过许多协议为业务逻辑提供服务。

以Java EE为例,Web服务器主要处理静态页面处理,并充当Servlet容器来解释和执行servlet/JSP。应用程序服务器运行业务逻辑,主要是J2EE API,如EJB,JNDI和JMX API。包含事务处理,数据库连接和其他功能,因此在企业应用程序中,应用程序服务器提供比WEB服务器更强大的功能。

通过此定义,IIS,Apache和Tomcat都可以属于Web服务器,而Weblogic和WebSphere属于应用程序服务器。

Apache:在Web服务器中,Apache是​​一个纯粹的Web服务器,通常与Tomcat配对。它具有很强的解释HTML页面的能力,但它没有解释嵌入在页面中的服务器端脚本代码(JSP/Servlet)。

Tomcat:早期的Tomcat是嵌入在Apache中的JSP/Servlet解释引擎。 Apache + Tomcat相当于IIS + ASP。后来Tomcat不再嵌入Apache中,Tomcat进程独立于Apache进程运行。而且,Tomcat已经是一个独立的Servlet和JSP容器,业务逻辑层代码和接口交互层代码可以分开。因此,有些人称Tomcat为轻量级应用服务器。

IIS:微软早期的IIS是纯粹的Web服务器。稍后,它嵌入ASP引擎来解释VBScript和JScript服务器端代码,在这种情况下,它可以兼作应用程序服务器。当然,它无法与J2EE应用服务器进行比较,但从功能上讲,它几乎不能称为应用服务器。相反,它是一个具有一点应用服务器功能的Web服务器。

总结:Apache是​​一个纯Web服务器,Tomcat和IIS可以称为轻量级应用程序服务器或具有服务器功能的Web服务器,因为它能够解释服务器端代码。 Weblogic和WebSphere无疑是绝对的应用程序服务器,因为它们提供了强大的J2EE功能。对于中间的Tomcat,它可以与纯Web服务器Apache一起使用,也可以作为应用程序服务器与应用程序服务器一起部署:

  一、Tomcat与应用服务器

到目前为止,Tomcat一直被认为是Servlet/JSP API的执行者,即所谓的Servlet容器。但是,Tomcat不仅仅是这样,它还为JNDI和JMX API提供了实现机制。尽管如此,Tomcat仍然不是应用程序服务器,因为它不支持大多数J2EE API。

有趣的是,许多应用程序服务器目前使用Tomcat作为其servlet和JSP API的容器。因为Tomcat允许开发人员只需添加一行感谢就可以将Tomcat嵌入到他们的应用程序中。不幸的是,许多商业应用程序服务器不遵循此规则。

对于开发人员,如果您希望使用Servlet,JSP,JNDI和JMX技术来生成Java Web应用程序,那么选择Tomcat是一个很好的解决方案;但是寻找对其他J2EE API的支持,寻找应用服务器或使用Tomcat作为应用服务器将是一个很好的解决方案;第三种方法是找到独立的J2EE API实现,然后将它们与Tomcat结合使用。尽管集成带来了相关问题,但这种方法最有效。 。

 二、Tomcat与Web服务器

Tomcat是一个支持servlet和JSP的容器。 Servlet和JSP可以根据实时需求生成动态Web内容。对于Web服务器,Apache仅支持静态网页,并且它无法支持动态网页; Tomcat可以同时提供动态Web服务和静态Web页面。虽然它没有通常的Web服务器,并且功能不像Web服务器那么丰富,但Tomcat正在逐步扩展以支持静态内容。大多数Web服务器都是用底层语言编写的,比如C,它充分利用了相应平台的功能,因此用纯Java编写的Tomcat的速度无法与它们进行比较。

通常,大型站点是Tomcat和Apache的组合。 Apache负责接受来自客户端的所有HTTP请求,然后将Servlet和JSP请求转发给Tomcat进行处理。在Tomcat完成处理之后,响应将传递回Apache,最后Apache将响应返回给客户端。并且为了提高性能,您可以连接多个tomcats以实现负载平衡。

让我们仔细看看:

 Web服务器(Web Server)

Web服务器可以处理HTTP协议。当Web服务器收到HTTP请求(请求)时,它返回HTTP响应(响应),例如发回HTML页面。为了处理请求,Web服务器可以响应静态页面或图像,执行页面重定向,或将动态响应委托给某些其他程序(如CGI)。脚本,JSP(JavaServer Pages)脚本,servlet,ASP(Active Server Pages)脚本,服务器端JavaScript或其他一些服务器端技术。无论这些翻译器的目的是什么,这些服务器端程序通常都会生成浏览器可以浏览的HTML响应。

请注意,Web服务器的委派模型非常简单。当请求发送到Web服务器时,它只是将请求传递给处理请求的程序(转换器的注释:服务器端脚本)。 Web服务器仅提供可以执行服务器端程序并返回(由程序生成的响应)而不超出函数范围的环境。服务器端程序通常具有事务处理,数据库连接和消息传递等功能。

虽然Web服务器不支持事务处理或数据库连接池,但它可以采用各种策略来实现容错和可伸缩性,例如负载平衡,缓冲。 (高速缓存)。群集功能(群集和mdash;功能)经常被误认为是特定于应用程序服务器的功能。

 应用程序服务器(The Application Server)

根据我们的定义,作为应用程序服务器,它通过各种协议(包括HTTP)向业务逻辑公开客户端应用程序。 Web服务器主要处理将HTML发送到浏览器以进行浏览,而应用程序服务器提供对业务逻辑的访问以供客户端应用程序使用。应用程序使用此业务逻辑,就像调用对象的方法(或过程语言中的函数)一样。

应用程序服务器的客户端(包含图形用户界面(GUI))可以在PC,Web服务器或甚至另一个应用程序服务器上运行。在应用程序服务器及其客户端之间来回传递的信息不仅限于简单的显示标签。相反,这些信息是程序逻辑。正是这种逻辑采用数据和方法调用的形式而不是静态HTML,因此客户端可以根据需要使用这种公开的业务逻辑。

在大多数情况下,应用程序服务器通过组件的应用程序接口(API)公开业务逻辑(到客户端应用程序),例如基于J2EE(Java 2平台,企业版)的应用程序。程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如门禁,包括安全性,事务处理,资源池和消息传递。就像Web服务器一样,应用程序服务器配置了各种可伸缩性和容错技术。

  警告(Caveats)

  XML Web Services现在混淆了应用程序服务器和Web服务器之间的界限。通过向服务器提供XML有效负载,Web服务器现在可以像以前的应用程序服务器一样处理数据和响应。

此外,大多数应用程序服务器现在还包括Web服务器,这意味着可以将Web服务器视为应用程序服务器的子集。虽然应用程序服务器包含Web服务器的功能,但开发人员很少将应用程序服务器部署到此功能(译者注释:)。此功能指的是应用程序服务器和应用程序的功能。 Web服务器的功能)。相反,如有必要,他们通常会单独配置Web服务器,与应用程序服务器配合使用。这种功能分离有助于提高性能(简单的Web请求不会影响应用程序服务器),单独的配置(专门的Web服务器,群集等),并提供最佳产品选择留出空间。

« 在Axure中创建弹出窗口的效率至少提高10倍 | 也许我们对操作的理解是错误的,你仍然不知道 »