一、靜態(tài)web頁(yè)面:
1、在靜態(tài)Web程序中,客戶端使用Web瀏覽器(IE、FireFox等)經(jīng)過(guò)網(wǎng)絡(luò)(Network)連接到服務(wù)器上,使用HTTP協(xié)議發(fā)起一個(gè)請(qǐng)求(Request),告訴服務(wù)器我現(xiàn)在需要得到哪個(gè)頁(yè)面,所有的請(qǐng)求交給Web服務(wù)器,之后WEB服務(wù)器根據(jù)用戶的需要,從文件系統(tǒng)(存放了所有靜態(tài)頁(yè)面的磁盤)取出內(nèi)容。之后通過(guò)Web服務(wù)器返回給客戶端,客戶端接收到內(nèi)容之后經(jīng)過(guò)瀏覽器渲染解析,得到顯示的效果。
2、為了讓靜態(tài)web頁(yè)面顯示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。)但是這些特效都是在客戶端上借助于瀏覽器展現(xiàn)給用戶的,所以在服務(wù)器上本身并沒(méi)有任何的變化。
3、靜態(tài)web無(wú)法連接數(shù)據(jù)庫(kù);
4、靜態(tài)web資源開發(fā)技術(shù):HTML;
5、由于現(xiàn)在的web頁(yè)面中,大量使用JS,導(dǎo)致瀏覽器打開頁(yè)面,就會(huì)占用大量的內(nèi)存,服務(wù)端的壓力是減輕了,但壓力轉(zhuǎn)移到了客戶端。
二、動(dòng)態(tài)web頁(yè)面:
動(dòng)態(tài)WEB中,程序依然使用客戶端和服務(wù)端,客戶端依然使用瀏覽器(IE、FireFox等),通過(guò)網(wǎng)絡(luò)(Network)連接到服務(wù)器上,使用HTTP協(xié)議發(fā)起請(qǐng)求(Request),現(xiàn)在的所有請(qǐng)求都先經(jīng)過(guò)一個(gè)WEB Server來(lái)處理。
如果客戶端請(qǐng)求的是靜態(tài)資源(*.htm或者是*.htm),則將請(qǐng)求直接轉(zhuǎn)交給WEB服務(wù)器,之后WEB服務(wù)器從文件系統(tǒng)中取出內(nèi)容,發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行。
如果客戶端請(qǐng)求的是動(dòng)態(tài)資源(*.jsp、*.asp/*.aspx、*.php),則先將請(qǐng)求轉(zhuǎn)交給WEB Container(WEB容器),在WEB Container中連接數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)中取出數(shù)據(jù)等一系列操作后動(dòng)態(tài)拼湊頁(yè)面的展示內(nèi)容,拼湊頁(yè)面的展示內(nèi)容后,把所有的展示內(nèi)容交給WEB服務(wù)器,之后通過(guò)WEB服務(wù)器將內(nèi)容發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行。
再進(jìn)一步深入分析動(dòng)態(tài)web的訪問(wèn)過(guò)程:瀏覽器訪問(wèn)web時(shí),看似是直接訪問(wèn)的jsp頁(yè)面,其實(shí)是,最先到達(dá)的地方是服務(wù)器,服務(wù)器創(chuàng)建好req和resp對(duì)象后再給jsp頁(yè)面使用。在jsp中完成設(shè)置字符集和取得表單參數(shù)后再調(diào)用servlet,完成業(yè)務(wù)處理。然后返回到j(luò)sp,jsp就會(huì)生成相應(yīng)的html頁(yè)面。該頁(yè)面會(huì)返回到服務(wù)器,再由服務(wù)器,通過(guò)response對(duì)象返回給客戶端。
為什么需要web服務(wù)器?
1)不管什么web資源,想被遠(yuǎn)程計(jì)算機(jī)訪問(wèn),都必須有一個(gè)與之對(duì)應(yīng)的網(wǎng)絡(luò)通信程序,當(dāng)用戶來(lái)訪問(wèn)時(shí),這個(gè)網(wǎng)絡(luò)通信程序讀取web資源數(shù)據(jù),并把數(shù)據(jù)發(fā)送給來(lái)訪者。
2)WEB服務(wù)器就是這樣一個(gè)程序,它用于完成底層網(wǎng)絡(luò)通迅,處理http協(xié)議。使用這些服務(wù)器,We應(yīng)用的開發(fā)者只需要關(guān)注web資源怎么編寫,而不需要關(guān)心資源如何發(fā)送到客戶端手中,從而極大的減輕了開發(fā)者的開發(fā)工作量。
常用動(dòng)態(tài)web資源開發(fā)技術(shù):JSP/Servlet、ASP、PHP等。