云计算-什么是应用程序服务器与Web服务器?

云计算-什么是应用程序服务器与Web服务器?

尽管“应用程序服务器Web 服务器”暗示了对比,但在 Internet 上,这两种类型的服务器通常为了一个共同目的而部署在一起:满足用户对网站内容的请求。没有定义 Web 服务器和应用程序服务器属性的标准文档,但让我们看看这些术语是如何被普遍理解的。

云计算-什么是应用程序服务器与Web服务器?-美联科技

一个Web服务器的基本工作是接受并满足来自客户端的请求从一个网站的静态内容(HTML网页,文件,图像,视频等)。客户端几乎总是浏览器或移动应用程序,请求采用超文本传输​​协议 ( HTTP ) 消息的形式,Web 服务器的响应也是如此。

一个应用程序服务器的基本工作是为其客户提供访问通常所说的业务逻辑,产生动态内容; 也就是说,它是转换数据以提供业务、服务或应用程序提供的特殊功能的代码。应用程序服务器的客户端通常是应用程序本身,并且可以包括 Web 服务器和其他应用程序服务器。应用程序服务器与其客户端之间的通信可能采用 HTTP 消息的形式,但这不是必需的,因为它是用于 Web 服务器与其客户端之间的通信。许多其他协议也很流行,包括 CGI 的变体。

应用程序服务器和 Web 服务器如何协同工作?

在典型的部署中,提供静态和动态生成内容的网站运行静态内容的 Web 服务器和动态生成内容的应用程序服务器。反向代理和负载平衡器坐在的一个或多个web服务器和一个或多个web应用程序服务器前将通信路由到适当的服务器,首先基于内容的类型请求,然后根据所配置的负载平衡算法上。大多数负载均衡器程序也是反向代理服务器,它简化了 Web 应用程序服务器架构。

云计算-什么是应用程序服务器与Web服务器?-美联科技

为什么这样问?

为什么某个东西是应用程序服务器还是 Web 服务器是个问题?这主要是由于随着网站需求的增长,这两种服务器的设计和使用越来越重叠。许多流行的应用程序同时充当 Web 服务器和应用程序服务器(想想 Apache HTTP Server、Express、Hapi 和 Koa)。

另一个重叠之处是一些 Web 应用程序服务器使用 HTTP 作为它们的通信协议。类似地,一些 Web 服务器最终看起来像应用程序服务器,因为它们具有内置模块和功能,这些模块和功能本机支持 PHP 等流行语言,或代理并将请求从 HTTP 转换为应用程序使用的协议(例如 FastCGI)。

客户经理