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