Web 服务器
概述
Web 服务器 是存储 Web 内容的计算机。 基本上网络服务器用于托管网站,但也存在其他网络服务器,例如游戏、存储、FTP、电子邮件等。
网站是网页的集合,而网络服务器是响应网络资源请求的软件。
Web 服务器工作
Web服务器通过以下两种方式之一响应客户端请求:
将文件发送到与请求的 URL 关联的客户端。
通过调用脚本生成响应并与数据库通信
要点
当客户端发送网页请求时,网络服务器搜索所请求的页面,如果找到请求的页面,则将其通过 HTTP 响应发送给客户端。
如果未找到请求的网页,网络服务器将发送HTTP 响应:错误 404 未找到。
如果客户端请求了一些其他资源,则 Web 服务器将联系应用程序服务器和数据存储以构建 HTTP 响应。
架构
Web服务器架构遵循以下两种方法:
并发方法
单进程事件驱动方法。
并发方法
并发方法允许 Web 服务器同时处理多个客户端请求。 可以通过以下方法来实现:
多进程
多线程
混合方法。
多进程
在此,单个进程(父进程)启动多个单线程子进程并将传入请求分发给这些子进程。 每个子进程负责处理单个请求。
父进程有责任监视负载并决定是否应该终止或分叉进程。
多线程
与多进程不同,它创建多个单线程进程。
混合
它是上述两种方法的结合。 在这种方法中,创建多个进程,每个进程启动多个线程。 每个线程处理一个连接。 在单个进程中使用多个线程可以减少系统资源的负载。
示例
下表描述了当今最领先的 Web 服务器:
S.N. | Web 服务器描述 |
---|---|
1 | Apache 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程序。 |