Home >> Blog >> web server 了解網頁伺服器運作原理
web server 了解網頁伺服器運作原理
Web 伺服器是使用 HTTP (超文本傳輸協議)和其他協議來響應通過網際網路發出的客戶端請求的軟體和硬體。Web 伺服器的主要工作是通過存儲、處理和交付網頁給用戶來顯示網站內容。除了 HTTP,Web 伺服器還支持SMTP(簡單郵件傳輸協議)和 FTP(文件傳輸協議),用於電子郵件、文件傳輸和存儲。
Web 伺服器硬體連接到 Internet 並允許與其他連接的設備交換數據,而 Web 伺服器軟體控制用戶訪問託管文件的方式。Web 伺服器進程是 客戶端/伺服器 模型的一個示例。託管網站的所有電腦都必須具有 Web 伺服器軟體。
Web 伺服器用於 Web 託管,或用於網站和基於 Web 的應用程式(或 Web 應用程式)的數據託管。
網絡伺服器如何工作?
Web 伺服器軟體通過網站的域名訪問,並確保將網站內容交付給請求用戶。軟體方面也由幾個組件組成,至少有一個 HTTP 伺服器。HTTP 伺服器能夠理解 HTTP 和URL。作為硬體,Web 伺服器是存儲 Web 伺服器軟體和與網站相關的其他文件的電腦,例如 HTML 文檔、圖像和 JavaScript 文件。
當網絡瀏覽器(如 Google Chrome 或 Firefox)需要託管在網絡伺服器上的文件時,瀏覽器將通過 HTTP 請求該文件。當Web伺服器接收到請求時,HTTP伺服器會接受請求,找到內容並通過HTTP發回給瀏覽器。
更具體地說,當瀏覽器向 Web 伺服器請求頁面時,該過程將遵循一系列步驟。首先,一個人將在網絡瀏覽器的地址欄中指定一個 URL。然後,Web 瀏覽器將獲取域名的 IP 地址——通過DNS(域名系統)或通過在其緩存中搜尋來轉換 URL 。這會將瀏覽器帶到 Web 伺服器。然後,瀏覽器將通過 HTTP 請求從 Web 伺服器請求特定文件。Web 伺服器將響應,再次通過 HTTP 向瀏覽器發送請求的頁面。如果請求的頁面不存在或出現問題,Web 伺服器將響應錯誤消息。然後瀏覽器將能夠顯示該網頁。
多個網域也可以託管在同一個 Web 伺服器上。
Web 伺服器使用示例
Web 伺服器通常是更大的 Internet 和 Intranet 相關程式包的一部分,這些程式用於:
- 發送和接收電子郵件;
- 下載文件傳輸協議 (FTP) 文件的請求;和
- 建立和發佈網頁。
許多基本的 Web 伺服器也將支持伺服器端腳本,它用於在 Web 伺服器上使用腳本,可以自定義對客戶端的響應。伺服器端腳本在伺服器機器上運行,通常具有廣泛的功能集,其中包括資料庫訪問。伺服器端腳本進程還將使用 Active Server Pages (ASP)、超文本預處理器 (PHP) 和其他腳本語言。此過程還允許動態創建 HTML 文檔。
動態與靜態 Web 伺服器
Web 伺服器可用於提供靜態或動態內容。靜態是指按原樣顯示的內容,而動態內容是可以更新和更改的。靜態 Web 伺服器由電腦和 HTTP 軟體組成。它被認為是靜態的,因為伺服器會將託管文件按原樣發送到瀏覽器。
動態網絡瀏覽器由網絡伺服器和其他軟體組成,例如應用伺服器和資料庫。它被認為是動態的,因為應用程式伺服器可用於在將任何託管文件發送到瀏覽器之前對其進行更新。當從資料庫請求內容時,Web 伺服器可以生成內容。這個過程雖然更靈活,但也更複雜。
市場上常見和頂級的網絡伺服器軟體
有許多常見的 Web 伺服器可用,其中包括:
- Apache HTTP 伺服器。由 Apache Software Foundation 開發,是一款免費的開源 Web 伺服器,適用於 Windows、Mac OS X、Unix、Linux、Solaris 等操作系統;它需要 Apache 許可證。
- Microsoft Internet 信息服務 (IIS)。由微軟為微軟平台開發;它不是開源的,但被廣泛使用。
- Nginx。由於資源利用率低且可擴展性好,它是一種流行的管理員開源 Web 伺服器。由於其事件驅動架構,它可以處理許多並發會話。Nginx 也可以用作代理伺服器和負載均衡器。
- Lighttpd。FreeBSD 操作系統附帶的免費網絡伺服器。它被視為快速且安全,同時消耗更少的 CPU 功率。
- Sun Java System Web 伺服器。來自 Sun Microsystems 的免費 Web 伺服器,可以在 Windows、Linux 和 Unix 上運行。它裝備精良,可以處理大中型網站。
領先的 Web 伺服器包括 Apache、Microsoft 的 Internet 信息服務 ( IIS ) 和 Nginx (發音為 engine X ) 。其他 Web 伺服器包括 Novell 的 NetWare 伺服器、Google Web 伺服器 (GWS) 和 IBM 的 Domino 伺服器系列。
選擇 Web 伺服器時的考慮因素包括它與操作系統和其他伺服器的配合情況;處理伺服器端程式的能力;安全特性;以及隨之而來的發布、搜尋引擎SEO優化和網站建設工具。Web 伺服器也可能有不同的配置並設置默認值。要創建高性能,Web 伺服器、高吞吐量和低延遲將有所幫助。
Web 伺服器安全實踐
個人可以圍繞 Web 伺服器的使用設置大量安全實踐,以提供更安全的體驗。一些示例安全實踐可以包括以下流程:
- 反向代理,旨在隱藏內部伺服器並充當源自內部伺服器的流量的中介;
- 通過諸如限制 Web 主機對基礎設施機器的訪問或使用安全套接字外殼 ( SSH ) 等過程進行訪問限制;
- 保持網絡伺服器的更新和最新update,以幫助確保網絡伺服器不易受到漏洞的影響;
- 網絡監控以確保沒有任何或未經授權的活動;和
- 使用防火牆和 SSL 作為防火牆可以監控 HTTP 流量,同時擁有安全套接字層 ( SSL ) 可以幫助確保數據安全。