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