Apachenginx属于软件服务器,设置在服务器端,为Web应用提供系统级的支持服务。除了题目中提到的两个服务器,还有更多的应用微软的IIS服务器,可以说是目前应用最广泛的三个服务器。Web服务器包括硬件服务器和软件服务器。现在大部分硬件服务器都是以云的形式为用户提供服务。
web服务器有哪些?
目前主流web服务器有三个apacheIISnginx。其中apache是开源的老牌服务器,多用于传统业务,其优点是系统稳定,扩展模块丰富,各种特性支持完整,并且跨平台。IIS是微软主力打造的web服务器,目前作为Windows系统组件一部分,和微软上层web开发asp.net应用接口紧密。
nginx是开源的后起之秀,是俄罗斯开发的一款用于高并发服务的web服务器,主要应用于高并发网站静态服务器下载服务器等,其优点是性能更高,支持负载均衡,反向代理。国产web服务器主要有Tengine是淘宝开发团队基于nginx修改的,优化了资源请求的web服务器,其特点继承nginx,并针对资源请求做了优化。
web服务器是什么?
Web服务器有硬件服务器和软件服务器,现在硬件服务器多以云的方式为用户提供服务。Apachenginx属于软件服务器,软件服务器是架设在服务端为Web应用提供系统级支撑服务,除了题目中提到的两个服务器,还有微软的IIS服务器也有比较多的应用,可以说是目前应用最为广泛的三大服务器。以下描述的是Web Server的用户请求处理过程以CGI为例通常Web Server还要与数据库服务器联合使用。
下面通过Java Web服务器来解释Web Server的作用,首先我们看一下Web Server在内部提供的服务Web Server包含了httpd和Web Container,其中httpd服务器是apache为静态页面提供的响应服务器,而Web Container则提供了动态内容的处理,为了解释Web Container的概念,我们看一下官方给出的定义官方定义只有两点协调servlet与httpd进程之间的交互。
一个实现了servlet API的Java虚拟机。第一点比较好理解,如果是静态页面则交由httpd负责处理,如果是动态请求则传递到Web container中进行处理。第二点是理解Web Container的重点,实现了servlet API的Java虚拟机则涵盖了很多内容。简单的概括一下,可以包含如下内容1.web组件的配置部署。
2.web组件的生命周期管理对象的创建运行销毁。3.服务组件之间的信息共享。4.会话管理。5.安全管理异常处理等。我们通过一个请求处理的时序图看一下Web Container的作用可以说Web Container就是Web组件的运行支撑环境,Web组件的一切任务都在Web Container中完成,同时Web Container提供了系统级的支撑,用户的Web组件比如servlet只需要专注于业务逻辑的实现就可以了,为开发人员提供了很大的便利。
由于Linux在安全性上明显优于Windows和Unix,所以Web Server部署在Linux服务器上是很常见的。同时,Linux服务器的稳定性也很突出,所以一般大型Web服务都部署在Linux系统上。关注我,了解更多关于Web开发的知识。我是悟空问答的签约作者,致力于为头条用户提供专业的技术问题解答。