web服务器和app服务器区别

Web服务器使用HTTP协议完成商业逻辑并返回web页面给浏览器。

APP服务器通过多种协议提供可调用的应用程序接口(API)给客户端,实现商业逻辑(business logic)。

 一、Web服务器

Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),通常送回一个HTML页面。

为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)委托(delegate)给其它程序,例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端Java,或者一些其它的服务器端(server-side)技术。无论这些脚本或服务器端技术的商业逻辑如何,通常产生一个HTML的响应(response)供浏览器浏览。

eg:
Apache是web服务器,
Tomcat是应用(java)服务器,是Apache的扩展,是一个servlet容器。Apache用tomcat扩展后既可以解释java程序(jsp,serverlet)。

Apache Tomcat 是一款 Java Servlet 和 JavaServer Pages 技术的开源软件实现,可以作为测试 Servlet 的独立服务器,而且可以集成到 Apache Web 服务器。

Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。

Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。

二、APP服务器

APP服务器,即应用程序服务器,它通过各种协议(包括HTTP),把商业逻辑暴露给(expose)应用程序客户端,供其使用。应用程序客户端使用此商业逻辑就象调用对象的一个方法(或过程语言中的一个函数)一样。

应用程序服务器客户端,包含有图形用户界面的(GUI),可能会运行在一台PC、或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间传递的信息不局限于简单的显示标记,而是程序逻辑(program logic)。 这种程序逻辑取得了数据和方法调用(calls)的形式,而不仅仅是静态HTML。

在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)给应用程序客户端的。例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如,包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。像Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。

 

如今,

WEB服务器也可以通过接受XML请求,具有处理数据和响应(response)的能力;

APP服务器服务器在一定程度上包含有WEB服务器功能。但是开发者还是很少以此身份发布app服务器。如果需要的话,他们通常将web服务器和app服务器分离开。这样的目的是,性能(简单的web请求不会影响到app服务器的性能)、发布配置(专用的web服务器,集群等)、更好的厂商选择。

posted @ 2020-05-14 14:11  雪人学习  阅读(943)  评论(0编辑  收藏  举报