互聯網中有數以億計的網站, 用户可以通過瀏覽這些網站獲得所需要的資訊。例如, 用户在瀏覽器的位址列中輸入新浪的網址,瀏覽器就會顯示新浪網的首頁, 從中可以檢視新聞等資訊。那麼新浪網首頁的內容是存放在哪裏的呢? 新浪網首頁的內容是存放在新浪網服務器上的。所謂服務器, 就是網絡中的一台主機, 由於它提供 Web 、 FTP 等網絡服務, 因此稱其為服務器。
用户的計算機又是如何將存在網絡服務器上的網頁顯示在瀏覽器中的呢? 當用户在位址列中輸入新浪網地址 (URL, 統一資源定位符) 的時候, 瀏覽器會向新浪網的服務器傳送 HTTP 請求, 這個請求使用 HTTP 協議, 其中包括請求的主機名、 HTTP 版本號等資訊。服務器在收到請求資訊後, 將回復的資訊 (一般是文字、圖片等網頁資訊, 也就是 HTML 頁面) 準備好, 再通過網絡發回給客户端瀏覽器。客户端的瀏覽器在接收到服務器傳回的資訊後, 將其解釋並顯示在瀏覽器的視窗中, 這樣用户就可以進行瀏覽了。
在這個 “請求一響應” 過程中, 如果在服務器上存放的為靜態 HTML 網頁檔案, 服務器就會原封不動地返回網頁的內容。如果存放的是動態網頁, 如 JSP 、 ASP 、 ASP.NET 等檔案, 則服務器會執行動態網頁, 執行的結果是生成一個 HTML 檔案, 然後再將這個 HTML 檔案傳送給客户端瀏覽器, 客户瀏覽器將其解釋為用户見到的頁面。
因此, 動態網頁和靜態網頁的根本區別在於服務器端返回的 HTML 檔案是事先儲存好的還是由動態網頁程序生成的。靜態網頁檔案裏只有 HTML 標記, 沒有程序程序碼, 網頁的內容是事先寫好並存放在服務器上的; 動態網頁檔案不僅含有 HTML 標記, 而且還含有程序程序碼, 當用户發出請求時, 服務器由動態網頁程序即時生成 HTML 檔案。動態網頁能夠根據不同的時間、不同的用户生成不同的 HTML 檔案, 顯示不同的內容。