当前位置: 首页 > 科技观察

Web服务器是如何被应用服务器“并入”的?

时间:2023-03-19 00:43:01 科技观察

在传统Web应用的多层架构中,系统一般包括负载均衡Web服务器、应用服务器等多个后端服务。其中,Web服务器和应用服务器往往被视为一个整体,但实际上,它们的工作原理总体来说,两者还是有一定区别的。Web服务器Web服务器的基本功能是提供Web信息浏览服务。它支持HTTP协议、HTML文档格式和URL,专门处理HTTP请求(request),可以与客户端的网络浏览器配合使用。它提供的是一个可以执行服务器端(server-side)程序并返回(由程序生成)响应(response)的环境。Web服务器处理网页的步骤如下:1、Web浏览器向特定的服务器发送网页请求;2、Web服务器收到网页请求后,将请求发送给应用服务器,并传递给处理请求3、Web服务器从应用服务器接收请求的网页内容,并返回将结果发送到客户端的Web浏览器进行显示。应用服务器应用程序服务器(简称应用服务器)的作用是允许多个用户同时使用应用程序。它提供客户端应用程序可以调用(call)的方法(methods),并通过许多协议为应用程序提供(serves)业务逻辑(businesslogic)。如果Web服务器主要关心将HTML发送到浏览器以供查看,那么应用程序服务器就是提供对业务逻辑的访问以供客户端应用程序使用。应用程序使用此业务逻辑就像调用对象的方法(或过程语言中的函数)一样。例如,用户中心、结算中心、支付中心涉及的导航、数据存储、安全认证、控制等流程都需要应用服务器响应。过去两者的功能区分比较明显,但现在大多数情况下人们习惯将Web服务器归类为应用服务器的一个子集,因为它们之间的界限早已随着各自的功能项变得越来越复杂不断添加。模糊我们知道网页内容可以是静态的也可以是动态的。对于静态内容,Web服务器可以直接将结果返回给浏览器。对于动态内容,通常需要先交给应用服务器处理,应用服务器返回结果。早期,由于HTTP1.0协议的限制,Web服务提供的页面内容和图像服务大多是静态的。后来加入了CGI功能,就意味着可以为每个web请求启动一个进程来生成动态内容。例如.NET中最常用的Web服务器是IIS,因为IIS可以自行解释和处理微软的两种动态网页脚本语言ASP和ASP.NET。虽然web服务器不支持事务处理或者数据库连接池,但是现在HTTP协议已经越来越成熟,web服务器变得更加复杂,加上缓存、安全和会话管理等额外的特性,可以处理更高的负载,更高的并发性,并通过向服务器发送XML载荷(payload),让自己具备处理数据和响应(response)的能力(前提是不需要应用服务器处理相关逻辑)。与Web服务器一样,应用服务器也搭载了各种容错和扩展技术,传统的应用服务器也逐渐嵌入了HTTP通信等原本属于Web服务器的功能。现在大部分的应用服务器实际上都包含了一个web服务器,也就是说web服务器可以看作是应用服务器的一个子集。但是在一些复杂网站的架构中,我们还是建议将两者独立配置。毕竟,一些功能的必要分离有助于提高系统的整体性能,并为维护和升级留下空间。