通过前面的介绍,我们已经掌握了很多关于Web服务器的知识。但我们都知道,一个Web应用只有Web服务器是不够的,它需要同应用服务器协同工作,才能完成一个Web站点的功能,那么Web服务器同应用服务器有什么不同?简单说,Web服务器专门用来向浏览器提供HTML文档和图象数据,Web服务器上的应用程序也是用来产生HTML文档和图象数据的,这一点不同于应用服务器的应用程序,应用服务器则只包含应用的业务逻辑,负责处理业务应用,而不包括数据库和用户界面程序。
多数情况下,应用服务器作为三层结构的中间层存在。通常,在三层结构中,其它两层分别是用户界面和数据库/数据存储。需要说明的是,上述区分只是功能上的,随着数据标准技术的发展,特别是由于XML的出现,打破了Internet上各种数据采集协议和开发语言之间的界限,Web服务器和应用服务器也都可以处理对方的数据,具有对方的功能。这种情况下,我们在选用服务器时可能会碰到困难,是选择Web服务器还是应用服务器?是不是用一个服务器解决两方面问题就可以了?实际应用中,还是应该把二者区分开来,使它们专注于自己的功能。例如,虽然应用服务器很容易具有提供Web网页的功能,但是却很难给应用服务器配置所有的Web功能。把两种服务分开还可以提高两种服务器的性能,降低维护的复杂性,例如由于Web服务器要频繁而又大量地传送HTML和图象数据,所以它们一般都需要较高的I/O速度,而应用服务器要对数据做大量的处理,因此需要较大的CPU的处理能力。另外,把二者区分开来有助于系统的稳定性,因为二者的性能指标不一样,所以在调试和配置的时候要求也不一样,把它们混在一起会增加维护难度。



相关教程