Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> Web 伺服器

深度解析 Web 伺服器原理:從 HTTP 協定到應用伺服器架構演進

編輯:Web 伺服器

什麼是 Web 伺服器?

Web 伺服器 (WWW Server) 是提供網頁瀏覽服務的主機程式,核心功能:透過 HTTP 協定 將 HTML 文件 (及圖片、CSS、JS 等靜態資源) 傳輸給客戶端瀏覽器 (IE、Firefox、Chrome 等)。

三大基石:
① 應用層使用 HTTP 協定
② 文件格式採 HTML
③ 瀏覽器使用 URL (統一資源定位器) 定位資源

Web 伺服器 vs 應用伺服器:核心差異

維度Web 伺服器應用伺服器
核心職責處理 HTTP 請求/回應,傳遞靜態/動態頁面暴露商業邏輯 (Business Logic) 供客戶端程式呼叫
通訊協定主要 HTTP/HTTPSHTTP、IIOP、RMI、自定義 TCP 等多種
回應內容HTML、圖片、JSON 等呈現層資料物件方法呼叫結果、資料傳輸物件 (DTO) 等邏輯層資料
處理模型委派模式:接收請求 → 轉交伺服器端腳本 (CGI, PHP, ASP, JSP, Servlet) → 回傳 HTML元件模式:管理 EJB/Spring Bean 等元件生命週期、交易、安全、資源池
典型產品IIS, Apache, NginxWebLogic, WebSphere, JBoss, Spring Boot 內嵌容器

Web 伺服器運作流程

  1. 瀏覽器發送 HTTP Request (GET/POST 等)
  2. Web 伺服器解析 Request
  3. 靜態資源 → 直接讀取檔案回應
  4. 動態資源 → 委派給對應處理器 (ISAPI 擴充、FastCGI、Servlet 容器等)
  5. 處理器執行商業邏輯 (查詢 DB、運算等) → 產生 HTML/JSON
  6. Web 伺服器封裝 HTTP Response 回傳瀏覽器

關鍵點: Web 伺服器本身不處理商業邏輯,僅提供執行環境與通訊管道;真正邏輯由伺服器端程式 (腳本/元件) 執行。

應用伺服器核心價值

  • 商業邏輯集中化與重用:定價查詢邏輯放在應用伺服器,Web 前端、POS 機、行動 App 皆可呼叫,避免重複開發。
  • 企業級服務內建:交易管理 (JTA)、連線池、訊息佇列 (JMS)、安全驗證 (JAAS)、叢集/容錯。
  • 元件模型標準化:EJB (Java EE)、Spring Bean、.NET Remoting/WCF 等。

經典對比場景:線上商店即時價格查詢

場景 1:純 Web 伺服器架構

Web Server → 伺服器端腳本 → 直接查 DB → 產生 HTML → 回應。
缺點: 商業邏輯嵌入呈現層,難以重用;擴充性差。

場景 2:Web 伺服器 + 應用伺服器

Web Server → 伺服器端腳本 → 呼叫應用伺服器定價服務 (EJB/Web Service) → 取得資料 → 產生 HTML。
優點: 邏輯解耦、多通道重用、獨立擴展應用層效能。

現代演進:界線模糊與最佳實踐

  • XML Web Services / REST API:Web 伺服器可直接處理資料交換,部分功能重疊。
  • 應用伺服器內建 Web 容器 (Tomcat, Jetty, Undertow):單一程式即可同時扮演兩角色。
  • 生產環境建議分離部署:
    Nginx/Apache (靜態、SSL 卸載、負載平衡、WAF) → 應用伺服器叢集 (商業邏輯)。
    優勢:職責單一、獨立擴容、技術棧彈性、安全區域隔離。

總結

Web 伺服器是「門面」,負責 HTTP 通訊與內容分發;應用伺服器是「大腦」,負責核心商業邏輯與企業級服務。理解兩者分工與協作模式,是設計高擴展、高可用、可維護系統架構的基石。

Copyright © Windows教程網 All Rights Reserved