官术网_书友最值得收藏!

1.1.2 動態(tài)網(wǎng)站的組成與運(yùn)行

1.動態(tài)網(wǎng)站的組成

動態(tài)網(wǎng)站通常由HTML文件、服務(wù)器端腳本文件和一些資源文件組成。

(1)HTML文件提供靜態(tài)的網(wǎng)頁內(nèi)容。

(2)腳本文件提供程序,實(shí)現(xiàn)客戶端與服務(wù)器之間的交互,以及訪問數(shù)據(jù)庫或文件等。

(3)資源文件提供網(wǎng)站中的圖片、視頻等資源,包括圖片文件、多媒體文件和配置文件等。

2.運(yùn)行動態(tài)網(wǎng)站程序的要素

要運(yùn)行動態(tài)網(wǎng)站程序,需要Web服務(wù)器、瀏覽器和HTTP通信協(xié)議等要素。

(1)Web服務(wù)器

運(yùn)行動態(tài)網(wǎng)站需要一個載體,稱為Web服務(wù)器。一個Web服務(wù)器可以部署多個動態(tài)網(wǎng)站(或Web應(yīng)用程序)。

通常Web服務(wù)器有兩層含義,一方面它代表運(yùn)行Web應(yīng)用程序的計(jì)算機(jī)硬件設(shè)備,一臺計(jì)算機(jī)只要安裝了操作系統(tǒng)和Web服務(wù)器軟件,就可算作一臺Web服務(wù)器。另一方面Web服務(wù)器專指一種軟件——Web服務(wù)器軟件,該軟件的功能是響應(yīng)用戶通過瀏覽器提交的HTTP請求,如果用戶請求的是PHP腳本,則Web服務(wù)器軟件將解析并執(zhí)行PHP腳本,生成HTML格式的文本,并發(fā)送到客戶端,顯示在瀏覽器中。

(2)瀏覽器

瀏覽器是用于解析HTML文件(可包括CSS代碼和客戶端JavaScript腳本)并顯示的應(yīng)用程序,它可以從Web服務(wù)器接收、解析和顯示信息資源(可以是網(wǎng)頁或圖像等),信息資源一般使用統(tǒng)一資源定位符(Universal Resource Locator,URL)標(biāo)識。

瀏覽器只能解析和顯示HTML文件,而無法處理服務(wù)器端腳本文件(如PHP文件),這就是為什么可以直接用瀏覽器打開HTML網(wǎng)頁文件,而服務(wù)器端腳本文件只有被放置在Web服務(wù)器上才能被正常瀏覽。

(3)HTTP通信協(xié)議

HTTP是瀏覽器與Web服務(wù)器之間通信的語言。瀏覽器與服務(wù)器之間的會話(見圖1-3),總是由瀏覽器向服務(wù)器發(fā)送HTTP請求信息開始(如用戶輸入網(wǎng)址,請求某個網(wǎng)頁文件),Web服務(wù)器根據(jù)請求返回相應(yīng)的信息,這稱為HTTP響應(yīng),響應(yīng)中包含請求的完整狀態(tài)信息,并在消息體中包含請求的內(nèi)容(如用戶請求的網(wǎng)頁文件內(nèi)容等)。

圖1-3 瀏覽器與服務(wù)器之間的會話

3.動態(tài)網(wǎng)站與Web應(yīng)用程序

一般來說,網(wǎng)站的內(nèi)容需要經(jīng)常更新,并添加新內(nèi)容。早期的網(wǎng)站是靜態(tài)的,更新靜態(tài)網(wǎng)站的內(nèi)容是非常煩瑣的,例如,要增加一個新網(wǎng)頁,就需要手工編輯這個網(wǎng)頁的HTML代碼,然后再更新相關(guān)頁面到這個頁面的鏈接,最后把所有更新過的頁面重新上傳到服務(wù)器。

為了提高網(wǎng)站內(nèi)容更新的效率,我們可以通過構(gòu)建Web應(yīng)用程序來管理網(wǎng)站內(nèi)容。Web應(yīng)用程序可以把網(wǎng)站的HTML頁面部分和數(shù)據(jù)部分分離開。要更新或添加新網(wǎng)頁,只要在數(shù)據(jù)庫中更新或添加記錄就可以了,程序會自動讀取數(shù)據(jù)庫中的記錄,生成新的頁面代碼發(fā)送給瀏覽器,從而實(shí)現(xiàn)了網(wǎng)站內(nèi)容的動態(tài)更新。

可見,Web應(yīng)用程序能夠動態(tài)生成網(wǎng)頁代碼,可以通過各種服務(wù)器端腳本語言來編寫Web應(yīng)用程序。而服務(wù)器端腳本代碼是可以嵌入網(wǎng)頁的HTML代碼中的,嵌入了服務(wù)器端腳本代碼的網(wǎng)頁就稱為動態(tài)網(wǎng)頁文件。因此,如果一個網(wǎng)站中含有動態(tài)網(wǎng)頁文件,則這個網(wǎng)站就相當(dāng)于是一個Web應(yīng)用程序。

Web應(yīng)用程序是B/S結(jié)構(gòu)軟件的產(chǎn)物。它首先是“應(yīng)用程序”,與標(biāo)準(zhǔn)的程序語言(如C、C++)編寫出來的程序沒有本質(zhì)的區(qū)別。然而Web應(yīng)用程序又有其自身獨(dú)特的地方,表現(xiàn)為:①Web應(yīng)用程序是基于Web的,依賴通用的Web瀏覽器來表現(xiàn)它的執(zhí)行結(jié)果;②需要一臺Web服務(wù)器,在服務(wù)器上對數(shù)據(jù)進(jìn)行處理,并將處理結(jié)果生成網(wǎng)頁,以方便客戶端直接使用瀏覽器瀏覽。

利用Web應(yīng)用程序,網(wǎng)站可以實(shí)現(xiàn)動態(tài)更新頁面,以及與用戶進(jìn)行交互(如留言板、論壇、博客、發(fā)表評論)等各種功能。但Web應(yīng)用程序并不等同于動態(tài)網(wǎng)站,它們的側(cè)重點(diǎn)不同。一般來說,動態(tài)網(wǎng)站側(cè)重于給用戶提供信息,而Web應(yīng)用程序側(cè)重于完成某種特定任務(wù),如基于B/S的管理信息系統(tǒng)(Management Information System,MIS)就是一種Web應(yīng)用程序,但不能稱作網(wǎng)站。Web應(yīng)用程序的真正核心功能是對數(shù)據(jù)庫進(jìn)行處理。

主站蜘蛛池模板: 竹北市| 抚宁县| 道孚县| 金沙县| 体育| 华池县| 榆树市| 吴忠市| 乌海市| 岳西县| 栾城县| 于都县| 南部县| 隆子县| 日土县| 荆门市| 霍城县| 昌邑市| 望奎县| 长沙市| 浦东新区| 镇江市| 抚顺市| 小金县| 哈尔滨市| 松原市| 类乌齐县| 长子县| 德化县| 六安市| 马尔康县| 苍溪县| 宜宾县| 温州市| 长顺县| 金湖县| 响水县| 清河县| 故城县| 祁阳县| 汶上县|