WEB 服务器、应用程序服务器、HTTP 服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere 都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:
Web 服务器的基本功能就是提供 Web 信息浏览服务。它只需支持 HTTP 协议、HTML 文档格式及 URL。与客户端的网络浏览器配合。因为 Web 服务器主要支持的协议就是 HTTP,所以通常情况下 HTTP 服务器和 WEB 服务器是相等的 (有没有支持除 HTTP 之外的协议的 web 服务器,作者没有考证过),说的是一回事。
应用程序服务器 (简称应用服务器),我们先看一下微软对它的定义:"我们把应用程序服务器定义为 “作为服务器执行共享业务应用程序的底层的系统软件”。 就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序(通常是客户创建的应用程序)"
通俗的讲,Web 服务器传送 (serves) 页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用 (call) 的方法 (methods)。确切一点,你可以说:Web 服务器专门处理 HTTP 请求 (request),但是应用程序服务器是通过很多协议来为应用程序提供 (serves) 商业逻辑 (business logic)。
以 Java EE 为例,Web 服务器主要是处理静态页面处理和作为 Servlet 容器,解释和执行 servlet/JSP,而应用服务器是运行业务逻辑的,主要是 EJB、 JNDI 和 JMX API 等 J2EE API 方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比 WEB 服务器强大的多。
以这样的定义,IIS、Apache、Tomcat 都可以属于 Web 服务器,Weblogic、WebSphere 都属于应用服务器。