五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 3.1 認識動態(tài)網(wǎng)站

3.1 認識動態(tài)網(wǎng)站

文章來源:365jz.com     點擊數(shù):490    更新時間:2009-09-13 10:21   參與評論
你可能有過電話購物的經(jīng)歷,如果沒有也沒有關系,說起來都可以理解。

當拿起話筒,撥通售貨服務的熱線(中間會伴隨撥號行為)。熱線撥通之后,你向服務員說明要購買的商品和購買數(shù)量,并告訴服務員送貨的詳細地址和聯(lián)系方式。服務員于是幫你查詢庫房中是否還存有現(xiàn)貨。如有現(xiàn)貨,則由送貨員負責送貨,并通知你等待接貨;如果沒有現(xiàn)貨,則服務員會告訴你現(xiàn)在已經(jīng)沒有存貨,請以后再繼續(xù)購買。

3.1.1  動態(tài)網(wǎng)站的工作方式

其實動態(tài)網(wǎng)站的工作方式與電話購物的流程基本相同,唯一的區(qū)別就是對象的不同,即由人變成了機器(兩臺或多臺計算機)。我們可以簡單的把動態(tài)網(wǎng)站的工作原理看作是兩臺或多臺計算機的對話。如果使用簡單的示意圖來描述則如圖3-1所示。

圖  3-1

動態(tài)網(wǎng)站其實就是這么簡單,一應一答,最終完成信息的傳遞和網(wǎng)頁更新,從而形成網(wǎng)頁的動態(tài)顯示效果。請注意,這里的動態(tài)效果不是網(wǎng)頁特效,而是網(wǎng)頁數(shù)據(jù)的更新顯示。

當然簡單中飽含著“艱辛”,也許當你輕松點擊某個超鏈接時,眼前會立即顯示所指商品的詳細信息。可曾想,計算機內(nèi)部需要經(jīng)過多少次計算,也許這些數(shù)據(jù)正是從遙遠的地球另一面“騰云駕霧”飛馳而來,還不知其間要經(jīng)歷多少道“手續(xù)”和“關卡”。

在學習動態(tài)網(wǎng)站時,請讀者先明白4個基本概念:客戶端、服務器端、請求和響應。因為它們是動態(tài)網(wǎng)站的靈魂,也是本書使用最頻繁的詞語,所以這里先提前介紹。

3.1.1.1  客戶端和服務器端

客戶端英文意思為Client,服務器端英文意思表示為Server。在計算機里,凡是提供服務的一方,我們都可以稱之為服務器端(Server),而接受服務的一方則稱之為客戶端(Client)。

例如,你把自家的幾臺電腦連在一起,形成一個簡單的家庭局域網(wǎng)。其中一臺電腦連接有打印機,其他電腦都可以通過這臺電腦進行打印,那么我們可以把這臺電腦稱為打印服務器,因為這臺電腦提供打印服務,而使用打印服務器提供打印服務的另一臺電腦就可以稱為客戶端。

當然,誰是客戶端、誰是服務器端,這些角色都不是絕對的,而且隨時是變化的。例如,如果原來提供服務的服務器端電腦要使用其他電腦提供服務,則服務器端所扮演的角色即轉變?yōu)榭蛻舳恕?/p>

如果把這種關系遷移到動態(tài)網(wǎng)站開發(fā)中,則客戶端和服務器端就變成了瀏覽器和網(wǎng)站之間的對應關系。瀏覽者(在本地計算機中)通過瀏覽器向網(wǎng)站請求瀏覽服務,網(wǎng)站(在遠程服務器上)根據(jù)請求進行響應服務。

當然,你不能根據(jù)位置關系來判斷客戶端和服務器端。如果你在本地機中組建了支持服務器的環(huán)境,而你又在同一臺計算機中向服務器請求服務,則客戶端和服務器端都會在同一臺機器上,位置關系發(fā)生了變化。

如果本地機被連接到互聯(lián)網(wǎng)上,且遠方的朋友知道你的IP地址,則他可以在遠方瀏覽你在本地機上設計的動態(tài)網(wǎng)頁,這時本地計算機就變成了服務器端,而遠程計算機就變成了客戶端。

3.1.1.2  請求和響應

請求英文意思為Request,響應英文意思為Response。請求和響應是HTTP傳輸協(xié)議中兩個基本概念。HTTP是超文本傳輸協(xié)議,它是Web應用的基礎。我們知道網(wǎng)頁都是通過HTTP協(xié)議進行傳輸?shù)摹?/p>

HTTP是一種請求/響應模式的協(xié)議,通俗說就是客戶端瀏覽器向服務器發(fā)出一個請求,服務器一定要進行響應,HTTP消息在一來一回中完成一個請求/響應過程。

當客戶端瀏覽器與服務器建立連接之后,客戶端會發(fā)送一個請求給服務器,請求消息的格式是:統(tǒng)一資源定位符(URI網(wǎng)址)、協(xié)議版本號,后面是類似MIME的信息(什么是MIME可參閱第12.2.1節(jié)介紹),包括請求修飾符、客戶機信息和可能的內(nèi)容(這些內(nèi)容我們都將在后面章節(jié)中進行講解)。服務器接到請求后,會返回相應的響應消息,其格式是:一個狀態(tài)行包括消息的協(xié)議版本號、一個成功或錯誤的代碼,后面也是類似MIME的信息,包括服務器信息、實體信息和可能的內(nèi)容。

在動態(tài)網(wǎng)站中,請求/響應就這樣構成了全部活動的基礎,實現(xiàn)信息的動態(tài)顯示。

3.1.2  動態(tài)網(wǎng)站技術核心

簡單了解動態(tài)網(wǎng)站是怎么回事兒,這僅是膚淺的認識,還沒有觸及到動態(tài)網(wǎng)站的技術內(nèi)幕。當然我們不準備去探討動態(tài)網(wǎng)站技術的理論體系,對于初學者來說過早接觸這些深奧的理論知識,只能讓人       犯暈。

你可以想象一下,動態(tài)網(wǎng)站的工作方式其實很簡單。那么是不是讀者的學習和開發(fā)就輕松了呢?答案是否定的。要使動態(tài)網(wǎng)站動起來,其中會需要多種技術進行支撐。簡單概括就是:數(shù)據(jù)傳輸、數(shù)據(jù)存儲和服務管理(包括系統(tǒng)配置和環(huán)境設置)。

3.1.2.1  數(shù)據(jù)傳輸

有的讀者可能會想到,HTTP不是專門負責數(shù)據(jù)傳輸?shù)膯幔渴堑?。但是HTTP僅是一個應用層的自然協(xié)議。如何獲取HTTP請求消息,又如何進行響應(即把指定消息反饋給瀏覽器)?你還必須使用一種技術來實現(xiàn)。

也許你可以選用一種編程語言(如C、Java等)來設置和接收HTTP請求和響應消息的構成,但是這種低級、復雜的過程是非常費時、費力,也是易錯的勞動,對于廣大初學者來說簡直就是望塵莫及。

如果能夠提供現(xiàn)成的技術,封裝對HTTP請求和響應消息的控制,豈不是簡化了開發(fā),降低學習的門檻。而服務器技術的一個核心功能就是負責對HTTP請求和響應消息的控制。例如,在ASP中,我們直接調(diào)用Request和Response這兩個對象,然后利用它們包含的屬性和方法就可以完成HTTP請求和響應的控制。在其他服務器技術中,也都提供這些基本功能,但是所使用的對象和方法可能略有不同。

3.1.2.2  數(shù)據(jù)存儲

數(shù)據(jù)傳輸是動態(tài)網(wǎng)站的基礎。但是如何存儲數(shù)據(jù)也是動態(tài)網(wǎng)站必須解決的核心技術之一。試想一下:如果數(shù)據(jù)不能夠存儲,換句話說網(wǎng)頁之間信息不能夠很好的進行溝通,這是一件多么可怕的事情,那么我們所看到的動態(tài)網(wǎng)頁可能就是半靜態(tài)網(wǎng)頁了,因為動態(tài)網(wǎng)頁缺乏動態(tài)數(shù)據(jù)的支撐,僅是簡單的來料加工車間,失去了創(chuàng)新的源泉,Web應用開發(fā)就無從談起,網(wǎng)站猶如眾多孤立頁面的集合體,失去了凝聚力,所有信息如同死水一般,失去了應用程序的靈活性。

也許你可能想到利用HTTP協(xié)議實現(xiàn)在不同頁面之間傳輸信息。是的,但是這僅解決了信息傳輸?shù)幕就窘?jīng),但不是最佳方式。試想,在會員管理網(wǎng)站中,為了保證每一位登錄會員都能夠通過每個頁面的驗證,我們可能需要在HTTP中不斷附加每位登錄會員的信息,這本身就是件很麻煩的事情。如果登錄會員很多,無疑會增加HTTP傳輸?shù)呢摀?,甚至造成網(wǎng)絡的堵塞,更為要命的是這很容易造成整個網(wǎng)絡傳輸?shù)幕靵y。

顯然如果使用HTTP來完成所有信息的共享和傳輸問題是很不現(xiàn)實的,也是行不通的。最理想的方法是服務器能夠提供一種技術來存儲不同類型的數(shù)據(jù)。例如,根據(jù)信息的應用范圍可以分為:應用程序級變量(存儲的信息為所有人共享)和會話級變量(存儲的信息僅為某個用戶使用)。一般服務器技術都能夠提供服務器內(nèi)存管理,在服務器內(nèi)存里劃分出不同區(qū)域,專門負責存儲不同類型的變量,以實現(xiàn)數(shù)據(jù)的共享和傳遞。另外,一般服務器技術都會提供Cookie技術,以便把用戶信息保存到用戶本地的計算機中,使用時再隨時從客戶端調(diào)出來,從而實現(xiàn)信息的長久保存和再利用。

3.1.2.3  服務管理

如果說解決動態(tài)網(wǎng)站的數(shù)據(jù)傳輸和存儲這兩個基本問題,動態(tài)網(wǎng)站的條件基本成立了。但是要希望動態(tài)網(wǎng)站能夠穩(wěn)健的運行,還需要一套技術來維持這種運行狀態(tài)。這套技術就是服務器管理,實際上這也是服務器技術中最復雜的功能。

俗話說得好,破家值萬貫,要管好一個家庭不容易,同樣要管理好一個動態(tài)網(wǎng)站也不容易,當然如果要管理好一個服務器就更難了。很多時候還需要服務器端的操作系統(tǒng)來協(xié)助管理,僅依靠服務器技術本身可能會力不從心。

當然,我們這里所說的服務管理僅僅是狹義的管理概念,它僅包括服務器參數(shù)設置,動態(tài)網(wǎng)站環(huán)境設置,以及網(wǎng)站內(nèi)不同功能模塊之間的協(xié)同管理。例如,網(wǎng)站物理路徑和相對路徑的管理、服務器安全管理、網(wǎng)站默認值管理、擴展功能管理和輔助功能管理,以及一些管理工具支持等。真正服務器管理那是網(wǎng)站管理員的事情,本書就不再涉及。

你可以想象一下,如果沒有服務器管理技術的支持,整個服務器可能只能運行一個網(wǎng)站(或一個Web應用程序),動態(tài)網(wǎng)頁也無法準確定位自己的位置。整個網(wǎng)站處于一片混亂、混沌狀態(tài)。例如,在ASP服務器技術中,我們可以利用Server對象來管理各種功能,如網(wǎng)頁定位、環(huán)境參數(shù)設置、安裝擴展插件等。

當然,要弄懂服務器技術的架構是相當麻煩的事情,筆者不建議初學者剛開始就從這些艱澀的理論學習入手,明白服務器技術是怎么回事就夠了,然后在不斷實踐中會逐漸理解這些基本原理。

3.1.3  動態(tài)網(wǎng)站技術類型

可能你也聽說過:ASP、PHP和JSP。說起來很順口,記起來也很容易。它們可是當今Web應用開發(fā)領域內(nèi)的三大服務器技術巨人。

實際上目前常用的三類服務器技術就是ASP(Active Server Pages,活動服務器網(wǎng)頁)、JSP(JavaServer Pages,Java服務器網(wǎng)頁)、PHP(Hypertext Preprocessor,超文本預處理程序)。這些技術的核心功能都是相同的,但是它們基于的開發(fā)語言不同,實現(xiàn)功能的途徑也存在差異。如果當你掌握了一種服務器技術,再學習另一種服務器技術,就會發(fā)現(xiàn)簡單多了。這些服務器技術都可以設計出常用動態(tài)網(wǎng)頁功能,對于一些特殊功能,雖然不同服務器技術支持程度不同,操作的難易程度也略有差別,甚至還有些功能必須借助各種外部擴展才可以實現(xiàn)。

另外,Adobe公司開發(fā)的基于Flash技術的FMS(Flash Media Server)服務器技術,目前也受到很多網(wǎng)友的熱捧。同時,ASP技術經(jīng)過升級后的ASP.NET服務器技術,功能強大得更是讓人眼花繚亂。下面我們簡單了解一下ASP、PHP和JSP三大服務器技術特點。雖不系統(tǒng)學習,也大概知道咋回事就行。

3.1.3.1  ASP

ASP是一種Web應用開發(fā)的環(huán)境,它不是一種語言,其實其他幾種服務器技術也不是具體的編程語言。ASP簡單、好學,是目前服務器應用比較廣泛的一種技術,群眾基礎和技術支持都比較雄厚。ASP采用VBScript和JScript腳本語言作為開發(fā)語言,當然你也可以嵌入其他腳本語言。ASP服務器技術只能在Windows系統(tǒng)中使用。ASP頁面的擴展名為.asp。

3.1.3.2  PHP

PHP也是一種比較流行的服務器技術,它最大的優(yōu)勢就是開放性和免費服務。你不用花費一分錢,就可以從PHP官方站點(http://www.php.net)下載PHP服務軟件,并不受限制地獲得源碼,甚至可以從中加進自己的功能。PHP服務器技術能夠兼容不同的操作系統(tǒng)?,F(xiàn)在PHP+MySQL組合開發(fā)已成為中小企業(yè)應用開發(fā)的首選搭檔。PHP頁面的擴展名為.php。

3.1.3.3  JSP

JSP是Sun公司推出的服務器技術,我們知道Sun公司打造的Java開發(fā)平臺現(xiàn)在完全可以與微軟的.NET平臺相抗衡,也是大型網(wǎng)站首選的開發(fā)工具。JSP可以在Serverlet和JavaBean技術的支持下,完成功能強大的Web應用開發(fā)。另外,JSP也是一種跨多個平臺的服務器技術,幾乎可以執(zhí)行于所有平臺。JSP頁面的擴展名為.jsp。

3.1.3.4  ASP、PHP和JSP比較

ASP、PHP和JSP這三大服務器技術具有很多共同的特點:

l         都是在HTML源代碼中混合其他腳本語言或程序代碼。其中HTML源代碼主要負責描述信息的顯示結構和樣式,而腳本語言或程序代碼則用來描述需要處理的邏輯。

l         程序代碼都是在服務器端經(jīng)過專門的語言引擎解釋執(zhí)行之后,然后把執(zhí)行結果嵌入到HTML文檔中,最后再一起發(fā)送給客戶端瀏覽器。

l         ASP、PHP和JSP都是面向Web服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。

當然,它們也存在很多不同,例如:

l         JSP代碼被編譯成Servlet,并由Java虛擬機解釋執(zhí)行,這種編譯操作僅在對JSP頁面的第一次請求時發(fā)生,以后就不再需要編譯。而ASP和PHP則每次請求都需要進行編譯。因此,從執(zhí)行速度上來說,JSP的效率當然最高。

l         目前國內(nèi)的PHP和ASP應用最為廣泛。由于JSP是一種較新的技術,國內(nèi)使用較少。但是在國外,JSP已經(jīng)是比較流行的一種技術,尤其電子商務類網(wǎng)站多采用JSP。

l         由于免費的PHP缺乏規(guī)模支持,使得它不適合應用于大型電子商務站點,而更適合一些小型商業(yè)站點。ASP和JSP則沒有PHP的這個缺陷。ASP可以通過微軟的COM技術獲得ActiveX擴展支持,JSP可以通過Java Class和EJB獲得擴展支持。同時升級后的ASP.NET更是獲得.NET類庫的強大支持,編譯方式也采用了JSP的模式,功能可以與JSP相抗衡。

總之,ASP、PHP和SP三者都有自己的用戶群,它們各有所長,讀者可以根據(jù)三者的特點選擇一種適合自己的語言。當然,既然讀者選擇本書來進行學習,相信你們對于ASP已經(jīng)情有獨鐘,本書也將全面講解ASP帶給你的輕松開發(fā)體驗。

如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答??! 點擊進入論壇

發(fā)表評論 (490人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號