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:
servlet和tomcat的关系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服务器,集等)、更好的⼚商选择。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论