理解靜態與動態網頁在 Web 伺服器端的處理差異,是掌握 ASP 運作機制、排查效能瓶頸與安全性問題的關鍵基礎。
.htm/.html 判斷為靜態檔案請求。[瀏覽器] --HTTP GET/POST--> [IIS] --讀取檔案--> [IIS] --HTML 回應--> [瀏覽器] --解析渲染--> [使用者看到畫面]

<% ... %>)、ASP 內建物件、COM 元件呼叫。.asp,IIS 會啟動 ASP 引擎 (asp.dll) 處理。.asp 判斷為動態頁面,讀取檔案並轉交應用程式伺服器 (ASP 引擎)。[瀏覽器] --請求 .asp--> [IIS] --轉交 ASP 引擎--> [ASP 引擎] --執行腳本/查詢 DB--> [ASP 引擎] --純 HTML--> [IIS] --回應--> [瀏覽器] --渲染-->

| 比較維度 | 靜態網頁 (.htm/.html) | 動態網頁 (.asp) |
|---|---|---|
| 伺服器端處理 | 無 (直接讀檔回傳) | 有 (ASP 引擎執行腳本) |
| 內容生成時機 | 部署前固定 | 請求時即時產生 |
| 資料庫存取 | 不可直接存取 | 可透過 ADO/COM 元件存取 |
| 個人化/互動 | 僅靠客戶端腳本/Cookie | Session、Application、資料庫驅動 |
| 原始碼可見性 | 檢視原始碼即見全部 | 只見輸出 HTML,邏輯隱藏 |
| 效能 | 極快 (可 CDN/Proxy 快取) | 較慢 (CPU/DB/IO 開銷),需快取策略 |
| 部署複雜度 | 僅需 Web 伺服器 | 需 IIS + ASP 引擎 + 元件註冊 |
| 副檔名 | .htm, .html | .asp |
asp.dll 載入 IIS 工作進程),效能大幅提升。需求:內容是否因使用者/時間/資料而異? 是 → 動態網頁 (.asp / .aspx / .php / .jsp 等) 否 → 靜態網頁 (.html) + 客戶端 JS 強化互動 進階:大部分內容固定,少數區塊動態? → 靜態頁面 + AJAX 區塊載入 / Edge Side Includes (ESI) / Server-Side Includes (SSI)
徹底理解兩者處理流程差異,能幫助您在架構設計、效能優化、安全防禦與故障排查中做出正確決策。