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