Web 服务器

概述

Web 服务器 是存储 Web 内容的计算机。 基本上网络服务器用于托管网站,但也存在其他网络服务器,例如游戏、存储、FTP、电子邮件等。

网站是网页的集合,而网络服务器是响应网络资源请求的软件。

Web 服务器工作

Web服务器通过以下两种方式之一响应客户端请求:

  • 将文件发送到与请求的 URL 关联的客户端。

  • 通过调用脚本生成响应并与数据库通信

internet_technologies_tutorial

要点

  • 当客户端发送网页请求时,网络服务器搜索所请求的页面,如果找到请求的页面,则将其通过 HTTP 响应发送给客户端。

  • 如果未找到请求的网页,网络服务器将发送HTTP 响应:错误 404 未找到。

  • 如果客户端请求了一些其他资源,则 Web 服务器将联系应用程序服务器和数据存储以构建 HTTP 响应。

架构

Web服务器架构遵循以下两种方法:

  1. 并发方法

  2. 单进程事件驱动方法。

并发方法

并发方法允许 Web 服务器同时处理多个客户端请求。 可以通过以下方法来实现:

  • 多进程

  • 多线程

  • 混合方法。

多进程

在此,单个进程(父进程)启动多个单线程子进程并将传入请求分发给这些子进程。 每个子进程负责处理单个请求。

父进程有责任监视负载并决定是否应该终止或分叉进程。

多线程

与多进程不同,它创建多个单线程进程。

混合

它是上述两种方法的结合。 在这种方法中,创建多个进程,每个进程启动多个线程。 每个线程处理一个连接。 在单个进程中使用多个线程可以减少系统资源的负载。

示例

下表描述了当今最领先的 Web 服务器:

S.N.Web 服务器描述
1Apache HTTP Server
这是由 Apache Software Foundation 开发的世界上最流行的 Web 服务器。 Apache Web 服务器是一个开源软件,可以安装在几乎所有操作系统上,包括 Linux、UNIX、Windows、FreeBSD、Mac OS X 等。 大约 60% 的 Web 服务器计算机运行 Apache Web 服务器。
2.Internet Information Services (IIS)
Internet 信息服务器 (IIS) 是 Microsoft 的高性能 Web 服务器。 该 Web 服务器在 Windows NT/2000 和 2003 平台上运行(也可能在即将推出的新 Windows 版本上运行)。 IIS 与 Windows NT/2000 和 2003 捆绑在一起; 由于 IIS 与操作系统紧密集成,因此管理起来相对容易。
3.Lighttpd
lighttpd,发音为lighty,也是一个随FreeBSD操作系统发布的免费Web服务器。 这个开源 Web 服务器快速、安全并且消耗更少的 CPU 资源。 Lighttpd 还可以在 Windows、Mac OS X、Linux 和 Solaris 操作系统上运行。
4.Sun Java System Web 服务器
Sun Microsystems 的此 Web 服务器适用于中型和大型网站。 虽然服务器是免费的,但它不是开源的。 然而,它可以在 Windows、Linux 和 UNIX 平台上运行。 Sun Java System Web 服务器支持 Web 2.0 所需的各种语言、脚本和技术,例如 JSP、Java Servlet、PHP、Perl、Python 和 Ruby on Rails、ASP 和 Coldfusion 等。
5.Jigsaw服务器
Jigsaw(W3C的服务器)来自万维网联盟。 它是开源和免费的,可以运行在Linux、UNIX、Windows和Mac OS X Free BSD等各种平台上。Jigsaw是用Java编写的,可以运行CGI脚本和PHP程序。