Web 服务器与应用程序服务器

menu icon

Web 服务器与应用程序服务器

了解 Web 服务器与应用程序服务器的不同之处和相同之处,并了解如何结合使用它们来提供您如今使用的大多数应用程序。

Web 服务器与应用程序服务器: 区别是什么呢?

根据严格的定义,Web 服务器是应用程序服务器的常见组成部分。

Web 服务器提供静态 Web 内容(例如 HTML 页面、文件、图像、视频),主要用于响应来自 Web 浏览器的超文本传输协议 (HTTP) 请求。

应用程序服务器通常也提供 Web 内容,但主要用于实现最终用户客户端和服务器端应用程序代码(通常称为业务逻辑代码)之间的交互,以便生成和提供动态内容,例如事务结果 、决策支持或实时分析。 应用程序服务器的客户端可以是应用程序自己的最终用户 UI、Web 浏览器或移动应用,并且可通过任意数量的通信协议来进行客户端/服务器交互。

然而,在实践中,特别是随着 Web 浏览器成为首选的应用程序客户端以及用户对 Web 应用程序和 Web 应用程序性能的期望不断升高,Web 服务器与应用程序服务器之间的界限已变得越来越模糊。

大多数 Web 服务器都支持脚本语言(例如 ASP、JSP、PHP、Perl)插件,这些插件使 Web 服务器能够基于服务器端逻辑生成动态内容。 越来越多的应用程序服务器不仅具备 Web 服务器的功能,而且在与 Web 服务器交互的过程中使用 HTTP 作为主要协议并支持其他协议(例如,CGI 和 CGI 变体)。 它们还允许 Web 应用程序使用反向代理、集群、冗余和负载均衡等服务,这些服务可以提高性能和可靠性,并允许开发人员减少对基础架构的关注,将更多精力投入到编码中。

更令人困惑的是,许多 Web 服务器和一些应用程序服务器都被称为或自称为 Web 应用程序服务器

最重要的是,当今最流行的 Web 服务器和应用程序服务器实际上是这两者的混合体。 您如今使用的大多数日益丰富的应用程序都同时具有静态 Web 内容和动态应用程序内容,而这些内容可通过结合使用 Web 服务器和应用程序服务器技术来提供。

开源 Web 服务器与应用程序服务器

市场上充斥着各种各样的 Web 服务器和应用程序服务器,数量之多,不胜枚举。 我们认为,仅列出最流行的免费开源选项可能会更有价值:

Nginx

Nginx(链接位于 IBM 外部)是一个开源 Web 服务器,它具有反向代理、负载均衡、邮件代理和 HTTP 缓存功能。 可从 Nginx, Inc.(链接位于 IBM 外部)获取受支持的 Nginx 商业版本。根据因特网研究和网络犯罪预防公司 Netcraft(链接位于 IBM 外部)提供的数据,截至 2019 年 12 月,Nginx 服务或代理了全球近 38% 的网站以及超过 25% 的百万级最繁忙网站。 Nginx 的世界知名企业用户包括 Dropbox、Netflix 和 Zynga。

Apache HTTP Server

Apache HTTP Server(也称为“Apache”)于 1995 年首次发布,它是另一种非常流行的免费开源 Web 服务器,近年来,它服务的网站数量已经超过其他 Web 服务器(在 2019 年 4 月被 Nginx 超越之前,其峰值达到 71%)。 截至 2019 年 12 月,Apache 为全球超过 24% 的网站和 31% 的百万级最繁忙网站提供服务。

Apache Tomcat

Apache Tomcat(链接位于 IBM 外部)是一个开源应用程序服务器,它可以执行 Java Servlet、呈现和交付包含 JavaServer Page 代码的网页,并为 Java Enterprise Edition (Java EE) 应用程序提供服务。 Tomcat 于 1998 年发布,它是使用最广泛的开源 Java 应用程序服务器。

Glassfish

Glassfish(链接位于 IBM 外部)是 Sun Microsystems 于 2006 年推出的开源 Java EE 应用程序服务器,目前由 Eclipse 基金会(链接位于 IBM 外部)托管。 与大多数 Java 应用程序服务器一样,Glassfish 支持 Java Servlet 和 Enterprise JavaBeans (EJB) 等,但它也可以用作 Web 服务器,提供 Web 内容来响应 HTTP 请求。

Web 服务器、应用程序服务器和 IBM Cloud®

随着对更好客户体验的需求以及影响业务和 IT 运营的应用程序越来越多,Web 服务器和应用程序服务器仍然是应用程序现代化的一部分。 提高自动化程度对于满足这些需求很有帮助。 理想情况下,将从相当成功的小型项目开始,然后针对其他流程和组织的其他部门进行扩展和优化。

通过与 IBM 合作,您可以使用 AI 支持的自动化功能(包括预构建的工作流程),通过使每个流程变得更加智能来加快创新速度。

采取下一步行动:

立即开始使用 IBM Cloud 帐户