Web服务器有硬件服务器和软件服务器,现在硬件服务器多以云的方式为用户提供服务。
Apache、nginx属于软件服务器,软件服务器是架设在服务端为Web应用提供系统级支撑服务,除了题目中提到的两个服务器,还有微软的IIS服务器也有比较多的应用,可以说是目前应用最为广泛的三大服务器。
以下描述的是Web Server的用户请求处理过程(以CGI为例):
通常Web Server还要与数据库服务器联合使用。
下面通过Java Web服务器来解释Web Server的作用,首先我们看一下Web Server在内部提供的服务:
Web Server包含了的概念,我们看一下官方给出的定义:
官方定义只有两点:
协调servlet与进程之间的交互。
一个实现了servlet API的Java虚拟机。
第一点比较好理解,如果是静态页面则交由中进行处理。
第二点是理解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开发的内容,我是悟空问答的签约作者,致力于为头条的网友提供专业的科技类问题解答。
linux要比windows平台稳定的多 如楼上所说的3-5年不管它 重启直接按电源 几乎没什么大毛病 windows平台重启直接按电源估计1个月不到系统不崩溃也差不多要over了 window...
华为云,商业化不浓厚,它是对外开放,也对外营收,但大多都是基于旗下设备或平台的一种“开放”,而且华为本身的主业务内也不包含“华为云”,所以华为的年度重点都不在这方面,但可千万不要怀疑华为云的可靠性和安...
你可以使用网络加速(sù)器(qì),如果樓(lóu)主想加速(sù)国外网站或玩国外平台的游戯(xì),我建议你选择ownssh加速(sù)器(qì)。 这款加速(sù)器(qì)本身(shēn)就...
你好.我来解答下你的问题. 根据你所选择配置的不同.阿里云服务器从几百元到几千元每年不等.建议你根据自己的网站情况去选择最适合的. 另外阿里云的带宽较小一些.整体性价比并不是很高.如果追求性价比的话....
一个非常好的问题。我是工作多年的Web应用架构师,来回答一下这个问题。欢迎关注我,了解更多IT专业知识。 常用的国内外代码托管网站: 1,Github 应该是最常用的代码托管网站了,各项功能完善。实际...
你购买腾讯云服务器的时候,应该已经选择好操作系统的类型了,希望你选择的是 Linux 云服务器。 配置服务器环境,我推荐你使用“宝塔Linux面板”,只要在腾讯云服务器上安装上宝塔,剩下的环境配置就是...
应邀回答本行业问题。 流量真长敞开应用,运营商的网络无法承受,在3G时代,曾经有一个运营商干过这事儿,结果网络崩溃了。 手机的信号是基站提供的,基站的接入容量是有限的。 每个基站都基站的容量限制,这...
尽管Unix/Linux是服务器领域的王者,连微软都在Windows10上都内嵌了Linux子系统,而且Windows10针对于cmd做出了很多优化,就是为了让Windows更加接近Unix/Linu...