在线 服务器 web,web服务器是什么?

web服务器是什么?

Apache,nginx如何理解?我以为服务器是为一台电脑或者多台电脑服务的机器。

Web服务器有硬件服务器和软件服务器,现在硬件服务器多以云的方式为用户提供服务。c51b8605ab9144375dd3499564f367f4.png

Apache、nginx属于软件服务器,软件服务器是架设在服务端为Web应用提供系统级支撑服务,除了题目中提到的两个服务器,还有微软的IIS服务器也有比较多的应用,可以说是目前应用最为广泛的三大服务器。923819178915c9e83a0e169381dbe387.png

以下描述的是Web Server的用户请求处理过程(以CGI为例):b969c32a8e61b4f85dcb782ac8f535b5.png

通常Web Server还要与数据库服务器联合使用。43aab9262c6a0576085540fe9ff62e59.png

下面通过Java Web服务器来解释Web Server的作用,首先我们看一下Web Server在内部提供的服务:

Web Server包含了httpd和Web Container,其中httpd服务器是apache为静态页面提供的响应服务器,而Web Container则提供了动态内容的处理,为了解释Web Container的概念,我们看一下官方给出的定义:0048ed736ff6c227802b30e23b537cef.png

官方定义只有两点:协调servlet与httpd进程之间的交互。

一个实现了servlet API的Java虚拟机。

第一点比较好理解,如果是静态页面则交由httpd负责处理,如果是动态请求则传递到Web container中进行处理。

第二点是理解Web Container的重点,实现了servlet API的Java虚拟机则涵盖了很多内容。简单的概括一下,可以包含如下内容:

1.web组件的配置、部署。

2.web组件的生命周期管理、对象的创建、运行、销毁。

3.服务组件之间的信息共享。

4.会话管理。

5.安全管理、异常处理等。b9bdb1d254b05b9999d3b7714baebf75.png

我们通过一个请求处理的时序图看一下Web Container的作用:

可以说Web Container就是Web组件的运行支撑环境,Web组件的一切任务都在Web Container中完成,同时Web Container提供了系统级的支撑,用户的Web组件(比如servlet)只需要专注于业务逻辑的实现就可以了,为开发人员提供了很大的便利。

由于Linux在安全性上要明显好于Windows和Unix,通常Web Server部署在Linux服务器上比较常见。同时Linux服务器的稳定性表现也比较突出,所以一般大型Web服务都选择部署在Linux系统上。

关注我,了解更多关于Web开发的内容,我是悟空问答的签约作者,致力于为头条的网友提供专业的科技类问题解答。

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值