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 都属于应用服务器。 ,,WEB 服务器、应用程序服务器、HTTP 服务器有何区别?IIS、Apache、Tomcat、Weblogic、WebSphere 都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了:, Web 服务器的基本功能就是提供 Web 信息浏览服务。它只需支持 HTTP 协议、HTML 文档格式及 URL。与客户端的网络浏览器配合。因为 Web 服务器主要支持的协议就是 HTTP,所以通常情况下 HTTP 服务器和 WEB 服务器是相等的 (有没有支持除 HTTP 之外的协议的 web 服务器,作者没有考证过),说的是一回事。 ,
Web 服务器可以解析 (handles) HTTP 协议。当 Web 服务器接收到一个 HTTP 请求 (request),会返回一个 HTTP 响应 (response),例如送回一个 HTML 页面。为了处理一个请求 (request),Web 服务器可以响应 (response) 一个静态页面或图片,进行页面跳转 (redirect),或者把动态响应 (dynamic response) 的产生委托 (delegate) 给一些其它的程序例如 CGI 脚本,JSP (JavaServer Pages) 脚本,servlets,ASP (Active Server Pages) 脚本,服务器端 (server-side) JavaScript,或者一些其它的服务器端 (server-side) 技术。无论它们 (译者注:脚本) 的目的如何,这些服务器端 (server-side) 的程序通常产生一个 HTML 的响应 (response) 来让浏览器可以浏览。,要知道,Web 服务器的代理模型 (delegation model) 非常简单。当一个请求 (request) 被送到 Web 服务器里来时,它只单纯的把请求 (request) 传递给可以很好的处理请求 (request) 的程序 (译者注:服务器端脚本)。Web 服务器仅仅提供一个可以执行服务器端 (server-side) 程序和返回 (程序所产生的) 响应 (response) 的环境,而不会超出职能范围。服务器端 (server-side) 程序通常具有事务处理 (transaction processing),数据库连接 (database connectivity) 和消息 (messaging) 等功能。,虽然 Web 服务器不支持事务处理或数据库连接池,但它可以配置 (employ) 各种策略 (strategies) 来实现容错性 (fault tolerance) 和可扩展性 (scalability),例如负载平衡 (load balancing),缓冲 (caching)。集群特征 (clustering—features) 经常被误认为仅仅是应用程序服务器专有的特征。,根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括 HTTP,把商业逻辑暴露给 (expose) 客户端应用程序。Web 服务器主要是处理向浏览器发送 HTML 以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法 (或过程语言中的一个函数) 一样。,应用程序服务器的客户端 (包含有图形用户界面 (GUI) 的) 可能会运行在一台 PC、一个 Web 服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭 (traveling) 的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑 (program logic)。正是由于这种逻辑取得了 (takes) 数据和方法调用 (calls) 的形式而不是静态 HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。,在大多数情形下,应用程序服务器是通过组件 (component) 的应用程序接口 (API) 把商业逻辑暴露 (expose)(给客户端应用程序) 的,例如基于...
应用服务器软件是托管应用程序的程序。应用程序服务器软件位于 Web 服务器和数据库服务器之间,充当想要安装、操作和托管应用程序和相关服务的用户的首选解决方案。,,它提供了几个引人注目的好处,包括增强的应用程序安全性、改进的容错性和简化的程序管理等。在本文中了解有关应用程序服务器以及Parallels® 远程应用程序服务器 (RAS)如何成为确保动态远程工作解决方案安全性的关键的更多信息。,远程应用服务器软件在数据中心中运行,便于安装、操作以及将应用程序和桌面交付给组织中的最终用户。组织可以通过多种方式使用应用程序服务器,包括运行 Web 应用程序、监视和分发软件更新以及处理来自另一台服务器的数据。,应用程序服务器还可以托管管理程序,允许它运行多个虚拟机 (VM)。然后,组织可以将驻留在 VM 中的虚拟应用程序和桌面交付给异构的最终用户设备,而无需他们在实际主机上安装此类程序。,术语Web 服务器和应用程序服务器有时可以互换使用,尽管它们具有不同的含义。Web 服务器提供静态 Web 内容,例如超文本标记语言 (HTML) 页面、文件、图像和视频。这主要是为了响应来自 Web 浏览器的超文本传输协议 (HTTP) 请求。,通常,大多数 Web 服务器都支持脚本语言插件,例如 Active Server Pages (ASP)、Jakarta Server Pages (JSP)、超文本预处理器 (PHP) 和 Perl。Web 服务器使用这些插件来生成基于服务器端逻辑的动态内容。,虽然应用服务器也可以交付 Web 内容,但它的主要职责是促进客户端和业务逻辑之间的交互。通过业务逻辑,应用服务器将数据转换为动态内容,例如事务结果、决策支持和实时分析,以支持应用程序的功能。应用程序服务器还允许应用程序利用集群、负载平衡、反向代理和冗余等服务——这些服务可以提高工作负载的可靠性和性能。,,以下是使用应用程序服务器的三个优点:,您可以在四种模型下部署应用程序服务器软件:, 1.本地部署,在这种模式下,应用服务器软件被部署在内部和组织的 IT 基础架构中。服务器在内部 IT 团队的监督下运行,而数据仍处于组织的控制之下。IT 团队还维护应用程序服务器及其所有相关流程。,, 2.公有云部署,在这种模式下,公共云服务提供商 (CSP)以付费方式向组织提供基于云的服务,例如软件即服务 (SaaS)、平台即服务 (PaaS) 或基础架构即服务 (IaaS) – 你去定价方案。组织可以使用这些服务部署其应用服务器软件,而无需在其自己的数据中心托管底层基础设施。, 3.混合云部署,混合云模型将内部部署与公共云部署相结合,允许应用服务器软件及其底层数据随着成本和需求的变化在它们之间移动。使用此模型使组织能够在其现有的本地 IT 基础架构中获得相同的安全措施,同时受益于公共云的敏捷性和灵活性。, 4.超融合基础设施部署,在公共云上部署应用服务器需要专业的 IT 技能,这可能与内部 IT 团队不同,从而增加了已经高度孤立的企业的专业化。此外,在公共云中部署一些应用程序可能会带来组织可能希望避免的安全挑战。,在超融合基础架构 (HCI)环境中部署应用服务器软件可以让组织在构建私有云或本地部署的同时获得公共云的好处。您还可以将 HCI 部署扩展到公共云并创建混合云环境,从而允许使用相同的工具来管理应用程序服务器,从而简化两个域之间的数据迁移。, ,应用服务器软件是托管应用程序的程序。应用程序服务器软件位于 Web 服务器和数据库服务器之间,充当想要安装、操作和托管应用程序和相关服务的用户的首选解决方案。,,
应用程序服务器,可通过各种协议,包括HTTP,把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序 服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法一样。,应用程序服务器的客户端能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记,这种信息就是程序逻辑。这种逻辑取得了数据和方法调用的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。,一般来说,应用程序 服务器是通过组件的应用程序接口把商业逻辑暴露给客户端应用程序的,例如基于J2EE用程序服务器的EJB件模型。此外,应用程序服务器可以管理自己的资源,例如安全,事务处理,资源池,和消息等。此外,应用程序服务器配置了多种可扩展和容错技术。,了解更多服务器及资讯,请关注vsping科技官方网站 https://www.mfisp.com/,感谢您的支持!,,应用程序服务器,可通过各种协议,包括HTTP,把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序 服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法一样。,应用程序服务器的客户端能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记,这种信息就是程序逻辑。这种逻辑取得了数据和方法调用的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。,
Web 服务器和应用程序服务器协同工作,通过Internet提供动态 Web 应用程序内容。动态Web 应用程序内容包括自动填充的字段,例如电子商务购买后的推荐项目,以及用户编辑的内容,例如在线银行表格。大多数 Web 应用程序必须具有动态内容才能运行。这需要 Web 和应用程序服务器一起工作。,, 网络服务器,Web 服务器作为一台计算机、多台计算机或一个机架运行。它们可以像办公桌上的笔记本电脑一样简单,也可以像企业数据中心中的机架服务器一样高性能。Web 服务器本身使用HTTP或HTTPS协议将静态Web 内容传送到最终用户设备上的网页。静态内容被缓存并且每次加载时都保持不变,除非手动编辑源代码。Web 浏览器使用HTML和CSS将静态内容放置在设计人员或开发人员指定的页面上。,Web 服务器可以使用附加组件来支持PHP或Python等脚本语言,从而为网页提供动态内容。这些脚本语言提供了连接数据库或调用第三方API的功能,这些功能是 Web 应用程序内容所必需的。, 应用服务器,应用程序服务器通常位于 Web 服务器之后,根据请求提供动态内容(如帐户登录和基于云的办公套件)。他们使用如上所述的脚本语言来创建动态网页内容。这些脚本可以从数据库或第三方 请求数据,然后将内容返回到 Web 服务器,后者为最终用户制定 HTML 响应。,应用服务器与多种协议交互:HTTP 和 HTTPS,还有传输层安全(TLS)。这是确认 Web 证书真实性的最新安全标准,超过了SSL。,应用程序服务器使用多线程(与多个客户端通信并同时服务多个请求的能力)来更有效地响应请求。, WEB 服务器和应用程序服务器如何协同工作,应用程序服务器和 Web 服务器使用处理 Web 服务器请求并提供响应的操作系统 线程进行通信。应用服务器通过网络服务器向网页提供动态网络内容。他们转换数据库存储的数据并处理复杂的请求。,当 Internet 用户在浏览器中键入 Web 应用程序的域名时:,反向代理服务器和负载平衡器处理 Web 流量请求,将它们传递到具有最佳带宽管理最终用户需求的服务器。, 应用程序服务器和 WEB 服务器之间的区别,应用程序服务器和 Web 服务器一起工作,并具有一些相似的功能。Web 服务器只提供 HTTP 和 HTTPS 请求,它们提供严格的静态内容,而不使用额外的脚本语言。应用程序服务器提供动态 Web 内容。,大多数 Web 应用程序都需要 Web 服务器和应用程序服务器来协作和交付动态 Web 内容。经常使用的高流量 Web 应用程序至少需要一台 Web 服务器和一台应用程序服务器。, ,Web 服务器和应用程序服务器协同工作,通过Internet提供动态 Web 应用程序内容。动态Web 应用程序内容包括自动填充的字段,例如电子商务购买后的推荐项目,以及用户编辑的内容,例如在线银行表格。大多数 Web 应用程序必须具有动态内容才能运行。这需要 Web 和应用程序服务器一起工作。,,
尽管“应用程序服务器与Web 服务器”暗示了对比,但在 Internet 上,这两种类型的服务器通常为了一个共同目的而部署在一起:满足用户对网站内容的请求。没有定义 Web 服务器和应用程序服务器属性的标准文档,但让我们看看这些术语是如何被普遍理解的。,,一个Web服务器的基本工作是接受并满足来自客户端的请求从一个网站的静态内容(HTML网页,文件,图像,视频等)。客户端几乎总是浏览器或移动应用程序,请求采用超文本传输协议 ( HTTP ) 消息的形式,Web 服务器的响应也是如此。,一个应用程序服务器的基本工作是为其客户提供访问通常所说的业务逻辑,产生动态内容; 也就是说,它是转换数据以提供业务、服务或应用程序提供的特殊功能的代码。应用程序服务器的客户端通常是应用程序本身,并且可以包括 Web 服务器和其他应用程序服务器。应用程序服务器与其客户端之间的通信可能采用 HTTP 消息的形式,但这不是必需的,因为它是用于 Web 服务器与其客户端之间的通信。许多其他协议也很流行,包括 CGI 的变体。, 应用程序服务器和 Web 服务器如何协同工作?,在典型的部署中,提供静态和动态生成内容的网站运行静态内容的 Web 服务器和动态生成内容的应用程序服务器。反向代理和负载平衡器坐在的一个或多个web服务器和一个或多个web应用程序服务器前将通信路由到适当的服务器,首先基于内容的类型请求,然后根据所配置的负载平衡算法上。大多数负载均衡器程序也是反向代理服务器,它简化了 Web 应用程序服务器架构。,, 为什么这样问?,为什么某个东西是应用程序服务器还是 Web 服务器是个问题?这主要是由于随着网站需求的增长,这两种服务器的设计和使用越来越重叠。许多流行的应用程序同时充当 Web 服务器和应用程序服务器(想想 Apache HTTP Server、Express、Hapi 和 Koa)。,另一个重叠之处是一些 Web 应用程序服务器使用 HTTP 作为它们的通信协议。类似地,一些 Web 服务器最终看起来像应用程序服务器,因为它们具有内置模块和功能,这些模块和功能本机支持 PHP 等流行语言,或代理并将请求从 HTTP 转换为应用程序使用的协议(例如 FastCGI)。, ,尽管“应用程序服务器与Web 服务器”暗示了对比,但在 Internet 上,这两种类型的服务器通常为了一个共同目的而部署在一起:满足用户对网站内容的请求。没有定义 Web 服务器和应用程序服务器属性的标准文档,但让我们看看这些术语是如何被普遍理解的。,,
应用程序有各种形状、大小和用例。在我们依赖大量关键业务流程的世界中,应用程序服务器是向用户和 Web 客户端提供应用程序资源的高性能计算机。应用程序服务器物理地或虚拟地位于存储应用程序数据的数据库服务器和与客户端通信的Web 服务器之间。应用服务器和类似中间件是支持应用程序开发和交付的操作系统。无论是桌面应用程序、移动应用程序还是 Web 应用程序,应用程序服务器在连接设备世界方面都发挥着关键作用。,, 应用服务器在服务架构中的作用,当应用程序用户(无论是员工还是 Web 客户端)请求访问应用程序时,应用程序服务器通常会在后端执行繁重的工作以存储和处理动态应用程序请求。, 为什么我们需要应用服务器?,每天有数十亿的 Web 客户端发出 HTTP 请求,期望即时访问您命名的应用程序。早上例行公事时的顶空,广泛报告的谷歌文档,咖啡休息时的推特,无论使用什么应用程序,它都是从应用程序服务器中提取出来并通过网络服务器传送的。Web 服务器负责为带有 HTTP 响应的 Web 客户端 HTTP 请求提供服务。与应用程序服务器不同,Web 服务器设计足够轻巧,可以在保持安全性的同时处理多个应用程序(或网站)的静态数据请求。动态请求(通常以应用程序的形式)需要额外的帮助。, 应用服务器优化流量并增加安全性,为了实现最佳的 Web 服务器敏捷性,管理来自 Web 客户端的 HTTP 请求以及从多个网站传递或存储资源是行不通的。应用服务器通过专为处理动态 Web 内容请求而构建的高性能设计填补了这一空白。应用服务器还提供程序冗余和额外的安全层。一旦部署在数据库和 Web 服务器之间,跨网络保留和复制应用程序架构的工作就更加可行。潜在的恶意 Web 通信与数据库服务器中的皇冠宝石之间的额外步骤增加了额外的安全层。因为应用服务器可以处理业务逻辑请求,所以尝试 SQL 注入也困难得多。组织可以使用位于其数据库前面的反向代理服务器进一步保护其数据。代理服务器和VPN可以在匿名和加密通信方面创造奇迹,以保护用户和公司数据。,, 应用服务器如何工作?,与当今的大多数服务器一样,应用服务器包含安全、事务、服务、集群、诊断和数据库等功能。应用服务器的不同之处在于它们处理来自 Web 服务器的servlet 请求的能力。,我们展示了 Web 应用程序服务器的一般流程:,在收到来自 Web 服务器的 servlet 请求后,应用程序服务器处理该请求并通过servlet response 响应Web 服务器。由于应用程序服务器主要处理业务逻辑请求,因此 Web 服务器转换 servlet 响应并传递用户可访问的 HTTP 响应。,, 2020 年代的应用服务器,应用服务器市场预计将以13.2%的复合年增长率增长,从 2020 年的近 170 亿美元增长到 2026 年的 410 亿美元。随着互联网连接和对应用程序依赖的增加,持续增长也就不足为奇了。向云平台和服务的迁移以及物联网设备的繁荣是现代应用基础设施和中间件市场的两个关键驱动因素。除此之外,还有一个转向 BYOD 政策和依赖于增加的连接性和运营效率的远程劳动力。这些功能强大的模块的价值及其在为客户提供应用程序资源方面的作用是毋庸置疑的。, 应用服务器:Web 服务器最好的朋友,应用服务器对于当今的互连需求至关重要。企业最终受制于客户利益,如果没有与应用程序资源的可扩展且稳定的连接,现代客户就会四处奔波。应用服务器扮演连接器的角色,也是网络服务器最好的朋友。当 Web 服务器有一个难以承受的客户端请求时,应用服务器可以使与动态 Web 内容的无缝通信成为可能。, ,应用程序有各种形状、大小和用例。在我们依赖大量关键业务流程的世界中,应用程序服务器是向用户和 Web 客户端提供应用程序资源的高性能计算机。应用程序服务器物理地或虚拟地位于存储应用程序数据的数据库服务器和与客户端通信的Web 服务器之间。应用服务器和类似中间件是支持应用程序开发和交付的操作系统。无论是桌面应用程序、移动应用程序还是 Web 应用程序,应用程序服务器在连接设备世界方面都发挥着关键作用。,,
Web 和应用服务器经常被混淆,部分是因为它们一起工作,部分是因为一些供应商将 Web 和应用服务器整合到两用机器中。类似地,使用“Web 应用程序服务器”等术语给人的印象是它们是双单元,而实际情况是它们通常是不同的、独立的节点。,Web 服务器和应用程序服务器之间的关键区别在于它们如何交付 Web 和应用程序内容。从互联网的早期开始,Web 服务器一直是为 Web 客户端请求提供服务的媒介。Web 服务器接收客户端请求并从相关数据库中检索内容以提供给客户端。相比之下,应用服务器也为客户端提供 Web 内容,但能够处理动态请求。,,随着万维网的发展,网页脚本从 HTML 转变为JavaScript,网页内容变得更具交互性。动态脚本语言的引入推动了Web 开发向前发展,并产生了当今可用的软件、工具和应用程序。这种转变推动了 Web 服务器功能的界限,并导致在服务器管理中采用另一台称为应用程序服务器的高度专业化的计算机。本文着眼于 Web 服务器和应用服务器所扮演的角色以及它们之间的区别。, 什么是网络服务器?,Web 服务器是负责以下各项的计算机系统:,为了检索 Web 资源,用户使用 Web 浏览器从 Web 服务器请求 Web 内容。无论是虚拟设备还是物理设备,Web 服务器都会接收来自 Web 浏览器的 HTTP 请求,将请求转换为网页的底层数据库,并使用请求的资源进行响应。也就是说……如果资源是静态内容,例如 PDF 或新闻文章。, HTML:静态内容,自 1990 年代初以来,超文本标记语言 (HTML) 一直是用于生成网页内容的主要编程语言。静态网页存储在 Web 组织的数据库中,以 HTML 代码的形式显示在客户端的 Web 浏览器上。用户将 HTML 内容识别为字体、文档、图像和视频。这些网页上的内容是静态的,因为 Web 服务器为请求该特定网页的所有客户端检索相同的实例。这种对静态数据的轻松服务使 Web 服务器能够为多个网页和站点提供服务。,, 网络服务器有限,遗憾的是,Web 服务器在面向服务架构 (SOA) 中的角色并不是管理 2020 年代高级 Web 内容请求的万能,这让我们想到了 Web 服务器最好的朋友,即应用程序服务器。, 什么是应用服务器?,与 Web 服务器一样,应用程序服务器是一台能够处理 HTTP 请求、为基于 Web 的应用程序提供服务以及使用 Web容器来满足客户端请求的计算机。然而,应用服务器更进一步的是它们对应用数据库的访问和动态内容的传输。凭借处理业务逻辑请求的能力,承担比 Web 服务器更重的工作负载,并支持多线程,应用程序服务器是推动当前应用程序经济的主力军。, 动态内容需要更多的服务器专业化,任何提供客户端不需要启动另一个页面的交互式或实时工具的网页都可能归功于动态脚本和应用程序服务器的工作。动态网页通常包括实时分析、金融交易和安全软件。例如,谷歌是世界上访问量最大的网站,为网络客户端提供了大量工具。其中一个程序是内置于 Google 搜索引擎的计算器。当客户进行数学方程式搜索时,Google 会识别该请求并在搜索结果网页上显示计算器。如果客户继续使用计算器,他们会注意到 URL 在所有计算中都没有改变。由于页面中嵌入了动态脚本,计算器可以对客户端输入做出反应,并能够处理与 Web 服务器活动分开的请求。, Web 和应用程序服务器如何协同工作?,下图显示了三个通信方:客户端、应用程序服务器和数据库服务器。当用户使用 Google Chrome 或 Firefox 等网络浏览器时,浏览器充当请求特定资源的客户端。在下面的实例中,Web 服务器位于客户端和应用程序服务器之间,为 HTTP 请求提供服务,Web 服务器可以促进静态内容。当 Web 服务器收到超出其能力的请求时,应用服务器完成交换。,, ,Web 和应用服务器经常被混淆,部分是因为它们一起工作,部分是因为一些供应商将 Web 和应用服务器整合到两用机器中。类似地,使用“Web 应用程序服务器”等术语给人的印象是它们是双单元,而实际情况是它们通常是不同的、独立的节点。,Web 服务器和应用程序服务器之间的关键区别在于它们如何交付 Web 和应用程序内容。从互联网的早期开始,Web 服务器一直是为 Web 客户端请求提供服务的媒介。Web 服务器接收客户端请求并从相关数据库中检索内容以提供给客户端。相比之下,应用服务器也为客户端提供 Web 内容,但能够处理动态请求。,