Web 服务器

2025年6月14日 | 阅读6分钟
Web Servers

网页是数据的集合,包括图片、文本文件、超链接、数据库文件等,所有这些都位于互联网上的某个计算机(也称为服务器空间)上。Web 服务器是运行在服务器端的专用软件。当任何用户请求他们的 Web 浏览器运行任何网页时,Web 服务器会将所有数据材料整理成一个有组织的网页,并通过互联网将其转发回 Web 浏览器。因此,我们可以得出结论:-

Web 服务器是一台专用的计算机,负责运行位于互联网上这些计算机上的网站。它们是专门的程序,根据用户的召唤分发网页。任何 Web 服务器的主要目标是收集、处理并向用户提供网页。

Web 服务器与 Web 浏览器之间的这种通信是通过一种名为 HTTP (超文本传输协议) 的协议实现的。这些存储的网页大多使用静态内容,包含 HTML 文档、图像、样式表、文本文件等。然而,**Web 服务器可以提供静态内容和动态内容**。Web 服务器还协助电子邮件服务和文件存储。因此,它还 使用 SMTP (简单邮件传输协议)FTP (文件传输协议) 协议来支持相应的服务。Web 服务器主要用于 Web 托管或托管网站数据以及运行 Web 应用程序。

Web 服务器的 硬件 连接到互联网,负责管理不同连接设备之间的数据交换。相比之下,Web 服务器软件负责控制用户如何访问已发送的文件。通常,Web 服务器管理是客户端/服务器模型的一个理想示例。因此,**所有托管网站的计算机(无论内容是静态还是动态网页)都必须安装 Web 服务器软件。**

Web 服务器如何工作?

“Web 服务器”一词可以指服务器硬件、服务器软件,或者在大多数情况下,两者(硬件和 软件)可能协同工作。

Web Servers
  1. 在硬件方面,Web 服务器被定义为存储软件和其他网站原始数据(如 HTML 文件、图像、文本文档和 JavaScript 文件)的计算机。Web 服务器的硬件连接到 Web,并支持与连接到 Internet 的不同设备进行数据交换。
  2. 在软件方面,Web 服务器包含通过网站域名访问的服务器软件。它控制 Web 用户如何访问 Web 文件,并确保将网站内容提供给最终用户。Web 服务器包含多个组件,包括 HTTP 服务器。

每当任何 Web 浏览器(例如 Google Chrome、Microsoft EdgeFirefox)请求 Web 服务器上托管的网页时,浏览器将通过 HTTP 处理该请求。在服务器端,当它收到请求时,HTTP 服务器将接受请求,立即开始查找请求的数据,并通过 HTTP 将其转发回 Web 浏览器。

让我们一步一步地了解当 Web 浏览器访问 Web 服务器并请求 Web 文件或文件时所发生的情况。请遵循以下步骤:

  1. 首先,任何 Web 用户都需要在 Web 浏览器的地址栏中输入网页的 URL
  2. 利用 URL,您的Web 浏览器将获取您域名的 IP 地址,方法是通过 DNS(域名系统)解析 URL,或者在缓存内存中查找 IP 地址。IP 地址将引导您的浏览器连接到 Web 服务器。
  3. 建立连接后,Web 浏览器将通过 HTTP 请求向 Web 服务器请求网页
  4. Web 服务器收到此请求后,会立即响应,通过 HTTP 将请求的页面或文件发送回 Web 浏览器。
  5. 如果浏览器请求的网页不存在,或者在过程中出现错误,Web 服务器将返回错误消息。
  6. 如果没有发生错误,浏览器将成功显示网页。

注意:单个 Web 服务器也可以托管多个域名。

Web 服务器使用示例

Web 服务器主要用于

  • 使用 SMTP(简单邮件传输协议)在 Internet 上发送和接收电子邮件;
  • 处理文件传输协议(FTP)文件的请求;以及
  • 设计、开发和发布网站。

许多 Web 服务器,即使是最基础的,也支持服务器端脚本技术。服务器端脚本是一种 Web 开发方法,用于在 Web 服务器上使用脚本为每个用户生成定制的响应。这项技术在服务器计算机上运行,并包含一个广泛的功能集,包括数据库访问。服务器端脚本过程将有各种脚本语言,如 ASPPHPJavaJavaScriptPythonRuby 等等。这项技术还使得 HTML 文件能够动态创建。

静态 Web 服务器与动态 Web 服务器

Web 服务器可用于存储、处理或提供静态或动态网页。让我们通过下面给出的差异表来理解静态和动态 Web 服务器的定义。

序号静态 Web 服务器动态 Web 服务器
1静态 Web 服务器指的是只提供静态内容的服务器,即内容是固定的,并按原样显示。动态 Web 服务器指的是页面内容可以更新和修改的服务器。
2静态 Web 服务器包含一台计算机和 HTTP(超文本传输协议)软件。动态 Web 服务器还包含一台计算机,其中包含大量其他软件,不同于应用程序服务器和数据库模型。
3之所以称为静态,是因为网页内容不会更改,除非用户手动更改,并且服务器会按原样将 Web 文件交付给 Web 浏览器。之所以称为动态,是因为应用程序服务器用于在服务器端更新网页文件,因此,对于 Web 浏览器每次请求的调用,它都可以更改。
4静态 Web 服务器加载数据的时间更短。动态 Web 服务器只能在从数据库请求数据时生成数据。因此,与静态 Web 服务器相比,它耗时且更复杂。

市场上的 Web 服务器软件

尽管当今市场上有各种 Web 服务器,但最常用的是以下几种:

序号Web 服务器描述
1.Apache HTTP Server
该 Web 服务器由 Apache Software Foundation 开发。它是一个开源、可用的 Web 服务器,适用于几乎所有操作系统,包括 Windows、macOS、Linux、FreeBSD 等。Apache 是全球最受欢迎的 Web 服务器之一。
2.Microsoft Internet Information Services (IIS)
IIS 是由 Microsoft 开发的高性能 Web 服务器,仅适用于 Microsoft 平台。此 Web 服务器与 Microsoft 操作系统紧密集成;因此,它不是开源的。
3.Nginx
Nginx 是一个开源 Web 服务器,管理员常用它,因为它支持轻量级资源应用和可扩展性。
4.Lighttpd
Lighttpd,也称为 lighty,是一个免费的开源 Web 服务器,用于 FreeBSD 操作系统。此 Web 服务器快速、安全且消耗的 CPU 资源更少。它也可以在常用操作系统上运行,如 Windows、Mac OS X、Linux。
5.Sun Java System Web Server
Sun Java 是由 Sun Microsystems 开发的免费 Web 服务器,非常适合中大型网站,可以在 Windows、Linux 和 Unix 上运行。此外,该 Web 服务器支持 Web 2.0 所需的多种语言、脚本和技术,例如 JSP、Java Servlets、PHP、Python、HTML 等。尽管 Sun Java 是免费的,但它不是一个开源的 Web 服务器。

Web 服务器安全方法

尽管市场上存在各种用户可以实现的、以获得安全的 Web 服务器体验的安全技术,但下面提供了一些安全实践的示例,这些实践可以包含以下过程:

  1. 反向代理是一种客户端可访问的代理服务器,因此隐藏了内部服务器。它充当中介,因为无论用户何时向 Web 服务器请求任何数据或文件,代理服务器都会截获这些请求,然后与 Web 服务器通信。
  2. 访问限制是一种技术,它通过安全套接字 Shell (SSH) 来限制 Web 主机对基础设施机器的访问;
  3. 保持 Web 服务器的维护和更新,因为这有助于确保 Web 服务器不易受到漏洞的攻击;
  4. 网络监控是一种安全实践,可确保 Web 服务器上没有未经授权的活动;以及
  5. 使用防火墙和 SSL 保护 Web 服务器,因为防火墙可以监控 HTTP 请求流量,而安全套接字层 (SSL) 则有助于保护数据。