应用服务器Web服务器有什么区别
Web服务器处理HTTP协议。当Web服务器收到HTTP请求时,它会响应HTTP响应,例如发送回HTML页面。要处理请求,Web服务器可以使用静态HTML页面或图像进行响应,发送重定向或将动态响应生成委派给其他程序,例如CGI脚本,JSP(JavaServer Pages),servlet,ASP(Active Server Pages) ),服务器端JavaScripts,或其他一些服务器端技术。无论其目的是什么,这种服务器端程序都会生成响应,最常见的是HTML,以便在Web浏览器中查看。了解Web服务器的委托模型非常简单。当请求进入Web服务器时,Web服务器只是将请求传递给最能够处理它的程序。除了简单地提供服务器端程序可以执行的环境并传回生成的响应之外,Web服务器不提供任何功能。服务器端程序通常为其自身提供诸如事务处理,数据库连接和消息传递之类的功能。虽然Web服务器本身可能不支持事务或数据库连接池,但它可能采用各种策略来实现容错和可扩展性,例如负载平衡,缓存和群集功能,这些功能通常被错误地分配为仅为应用程序服务器保留的功能。
对于应用程序服务器,根据我们的定义,应用程序服务器通过各种协议(可能包括HTTP)向客户端应用程序公开业务逻辑。虽然Web服务器主要处理发送HTML以便在Web浏览器中显示,但是应用程序服务器提供对业务逻辑的访问以供客户端应用程序使用。应用程序可以像调用对象上的方法(或程序世界中的函数)一样使用此逻辑。这样的应用服务器客户端可以包括在PC,Web服务器或甚至其他应用服务器上运行的GUI(图形用户界面)。在应用程序服务器及其客户端之间来回传递的信息不限于简单的显示标记。相反,信息是程序逻辑。由于逻辑采用数据和方法调用的形式而不是静态HTML,因此客户端可以使用它想要的公开的业务逻辑。在大多数情况下,服务器通过组件API公开此业务逻辑,例如J2EE(Java 2平台,企业版)应用程序服务器上的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器管理自己的资源。这种守门职责包括安全性,事务处理,资源池和消息传递。与Web服务器一样,应用程序服务器也可以采用各种可伸缩性和容错技术。
例如,考虑一个提供实时定价和可用性信息的在线商店。最有可能的是,该网站将提供一个表格,您可以选择一种产品。提交查询时,网站会执行查找并返回HTML页面中嵌入的结果。该站点可以以多种方式实现此功能。我将向您展示一个不使用应用程序服务器而另一个使用应用程序服务器的方案。了解这些方案的不同将有助于您查看应用程序服务器的功能。在第一个场景中,仅Web服务器提供在线商店的功能。Web服务器接收您的请求,然后将其传递给能够处理请求的服务器端程序。服务器端程序从数据库或平面文件中查找定价信息。检索后,服务器端程序使用该信息来制定HTML响应,然后Web服务器将其发送回Web浏览器。
最近,XML Web服务模糊了应用程序服务器和Web服务器之间的界限。通过将XML有效负载传递给Web服务器,Web服务器现在可以处理数据并像过去那样响应应用程序服务器。此外,大多数应用程序服务器还包含Web服务器,这意味着您可以将Web服务器视为应用程序服务器的子集。虽然应用服务器包含Web服务器功能,但开发人员很少以该容量部署应用服务器 相反,在需要时,他们经常与应用程序服务器一起部署独立的Web服务器。这种功能分离有助于提高性能(简单的Web请求不会影响应用程序服务器性能),部署配置(专用Web服务器,群集等),并允许选择最佳的产品。以上就是小编所了解的web服务器与应用服务器之间的区别,如果你也了解相关信息欢迎前来与小编交流探讨。