一、靜態web頁面:
1、在靜態web程序中,客戶端使用的web瀏覽器經過網絡連接到服務器上,使用HTTP協議發起一個請求(Request),告訴服務器我現在需要得到哪個頁面,所有的請求交給web服務器之后,web服務器根據用戶的需要,從文件系統(存放了所有靜態頁面的磁盤)取出內容。之后通過web服務器返回給客戶端,客戶端接收到內容之后經過瀏覽器渲染解析,得到顯示的效果。
2.為了讓靜態web頁面更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是一種創建交互式網頁應用的網頁開發技術)但是這些特效都是在客戶端上借助於瀏覽器展示給用戶的,所以在服務器上本身沒有任何的變化。
3.靜態web無法連接數據庫;
4.靜態web資源開發技術:HTML;
5.由於現在的web頁面中,大量使用JS,導致瀏覽器打開頁面就會占用大量的內存,服務端壓力減少,客戶端壓力增加。
二、動態web頁面:
動態web中,程序依然使用客戶端和服務端,客戶端依然使用瀏覽器通過網絡連接到服務器上,使用HTTP協議發起請求(Request),現在的所有請求都先經過一個WEB Server來處理。如果客戶端請求的是靜態資源(*.htm),則將請求直接轉交給web服務器,之后web服務器從文件系統去除北榮,發送給客戶端瀏覽器進行解析。
如果客戶端請求的是動態內容(*.jsp、*.asp/*.aspx、*.php),則先把請求轉交給web container(web容器),在web container中連接數據庫,從數據庫中取出數據等一系列操作后動態拼湊頁面的展示效果,拼湊頁面的展示內容后,把所有的展示內容交給WEB服務器,之后通過web服務器將內容發送給客戶端服務器進行解析。
ps:再進一步深入分析動態web的訪問過程:瀏覽器訪問web時,看似是直接訪問的jsp頁面,其實是,最先到達的地方是服務器,服務器創建好req和resp對象后再給jsp頁面使用。在jsp中完成設置字符集和取得表單參數后再調用servlet,完成業務處理。然后返回到jsp,jsp就會生成相應的html頁面。該頁面會返回到服務器,再由服務器,通過response對象返回給客戶端。