按照严格的定义,Web 服务器是应用服务器的一个常见子集。
Web 服务器提供静态 Web 内容,例如 HTML 页面、文件、图像、视频,主要用于响应来自 Web 浏览器的超文本传输协议 (HTTP) 请求。
应用服务器通常也可以提供 Web 内容,但它的主要工作是支持用户客户端和服务器端应用程序代码(即通常称为业务逻辑的代码)进行交互,以生成和提供动态内容,例如交易结果、决策支持或实时分析。
应用服务器的客户端可以是应用程序自身的用户界面、Web 浏览器或移动应用程序,并且客户端与服务器的交互可以通过多种通信协议进行。然而,Web 服务器和应用服务器之间的界限实际变得更加模糊,尤其是随着 Web 浏览器已成为首选的应用程序客户端,以及用户对 Web 应用程序和 Web 应用程序性能的期望不断提高。
大多数 Web 服务器都支持脚本语言(例如 ASP、JSP、PHP、Perl)插件,这些插件可支持 Web 服务器根据服务器端逻辑生成动态内容。越来越多的应用服务器不仅集成了 Web 服务器功能,还使用 HTTP 作为主要协议,并支持其他协议(例如,CGI 和 CGI 变体)与 Web 服务器连接。
它们还允许 Web 应用程序使用反向代理、集群、冗余和负载平衡等服务,这些服务可以提高性能和可靠性,让开发人员不用再密切关注基础设施,而将更多精力放在编码上。更令人困惑的是,许多 Web 服务器和一些应用服务器都被称为或自称为 Web 应用服务器。
归根结底,当今最热门的 Web 服务器和应用服务器是两者的混合体。当前使用的大多数日益丰富的应用程序都是静态 Web 内容和动态应用程序内容的组合,通过 Web 服务器和应用服务器技术的组合来提供。
市场上充斥着 Web 服务器和应用服务器,多到无法在此一一列举。相反,我们认为列出最受欢迎的免费开源选项可能更有价值:
Nginx 是一个开源 Web 服务器,包括反向代理、负载平衡、邮件代理和 HTTP 缓存功能。也可以从 Nginx, Inc. 获取受支持的 Nginx 商用版本。
根据互联网研究和网络犯罪预防公司 Netcraft 的数据,截至 2019 年 12 月,Nginx 为全球近 38% 的网站和超过 25% 的百万最繁忙网站提供服务或代理。Nginx 的世界知名企业用户包括 Dropbox、Netflix 和 Zynga。
Apache HTTP Server(也称为 "Apache")于 1995 年首次发布,是另一种流行的免费开源 Web 服务器,截至最近,它支持的网站数量超过任何其他 Web 服务器(峰值时为 71%),然后于 2019 年 4 月被 Nginx 超越。截至 2019 年 12 月,Apache 已为全球超过 24% 的网站和 31% 的百万最繁忙网站提供服务。
Apache Tomcat 是一个开源应用服务器,可运行 Java Servlet,呈现和提供包含 JavaServer Page 代码的网页,并为 Java Enterprise Edition (Java EE) 应用程序提供服务。Tomcat 于 1998 年发布,是使用最广泛的开源 Java 应用服务器。
Glassfish 是 Sun Microsystems 于 2006 年推出的开源 Java EE 应用服务器,当前由 Eclipse 基金会托管。与大多数 Java 应用程序服务器一样,Glassfish 支持 Java Servlet、Enterprise JavaBeans (EJB) 等,但它还可以充当 Web 服务器,提供 Web 内容以响应 HTTP 请求。
IBM Cloud Infrastructure Center 是一款兼容 OpenStack 的软件平台,用于管理 IBM zSystems 和 IBM LinuxONE 上的私有云基础架构。
发现专为企业混合云和 AI 策略设计的服务器、存储器和软件。
查找适合企业的业务需求的云基础设施解决方案,并按需扩展资源。