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

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

以下描述的是Web Server的用户请求处理过程(以CGI为例):
web服务器是什么?-编程之家

通常Web Server还要与数据库服务器联合使用。web服务器是什么?-编程之家

下面通过Java Web服务器来解释Web Server的作用,首先我们看一下Web Server在内部提供的服务:web服务器是什么?-编程之家

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

web服务器是什么?-编程之家

官方定义只有两点:

  1. 协调servlet与httpd进程之间的交互。
  2. 一个实现了servlet API的Java虚拟机。

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

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

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

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

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

4.会话管理。

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

我们通过一个请求处理的时序图看一下Web Container的作用:web服务器是什么?-编程之家

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

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

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

~

按照我自己的理解,和大家说说什么是Web服务器,再说一下什么的应用服务器,如果有理解不对的地方,请大家留言指正。

访问网站的流程

先想一想,我们访问一个网站,完整的流程是什么呢?

  • 在浏览器输入网址;

  • 浏览器把这个网址送到DNS服务器,解析获得对应的IP地址;

  • 发送HTTP Request到这个IP的服务器;

  • 返回HTTP Response回去;

  • 浏览器拿到响应内容进行渲染后,把页面展示给我们。

web服务器是什么?-编程之家

Web服务器

【这个IP的服务器】,做接收Request,返回HTTP Response工作的,就是Web服务器。

Web服务器是一个程序,运行在物理服务器上,等待着客户端(如浏览器)发送请求,当收到请求后,它会生成响应返回给客户端。

严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。

所以web服务器一般也被称为HTTP服务器。

web服务器是什么?-编程之家

应用服务器

上面说到,Web服务器接收到Request之后,返回的Response大多数不会只是静态页面,那么就需要一个程序去根据Request动态地生成Response,这个程序就是应用服务器。

  • 应用服务器会有一些业务逻辑,可能会对数据库进行增删查改的操作,也可能会访问其他的应用服务器进行数据的查询或处理。

  • 相对于web服务器只能返回静态页面,而JSP,ASP,PHP等动态页面需要通过CGI、FastCGI、ISAPI等接口,交给应用服务器去处理。

  • 一般来说,应用服务器从web服务器接受请求,处理后的把响应返回再给web服务器,由web服务器再把响应返回给客户端。

web服务器是什么?-编程之家

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

web服务器是什么?-编程之家

Web服务器:一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档。Web服务器作用:1、放置网站文件,让全世界浏览;2、可以放置数据文件,让全世界下载。Web服务器分类:1、Apache;2、Nginx;3、IIS。Web服务器工作原理可分为四个步骤:连接过程、请求过程、应答过程以及关闭连接。

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。选择服务器的话,必要考虑的肯定是速度,稳定性,性价比,我自己用的bluehost是美国老主机商,非常可靠