动态网页和静态网页
網(wǎng)頁的構(gòu)成
通常在瀏覽器看到的網(wǎng)頁其實是由以下三層信息構(gòu)成的一個共同體 :
結(jié)構(gòu)層:是由HTML或XHTML之類的標(biāo)記語言負(fù)責(zé)創(chuàng)建
表示層:由CSS負(fù)責(zé)完成
行為層:負(fù)責(zé)客戶和網(wǎng)頁的交互問題,比如客戶點擊按鈕或者鏈接操作,行為層負(fù)責(zé)執(zhí)行該操作引發(fā)的后續(xù)的一系列動作。行為層的交互功能主要是由腳本來完成。
動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁
首先必須要明白一點:所有的網(wǎng)頁,不管是動態(tài)網(wǎng)頁還是靜態(tài)網(wǎng)頁,都是由Web服務(wù)器所創(chuàng)建的。
動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁的最明顯區(qū)別在于:顯示內(nèi)容是否變化。
靜態(tài)網(wǎng)頁就是內(nèi)容固定、不會變化的網(wǎng)頁,比如博客文章,你今天打開和明天打開看到的是同樣的內(nèi)容,張三和李四瀏覽同一個頁面,看到的也是同樣的內(nèi)容。
動態(tài)網(wǎng)頁就是內(nèi)容不斷更新變化的網(wǎng)頁,比如股票行情頁面,每日新聞頁面,其內(nèi)容是不斷變化的。
注意幾點:
動態(tài)網(wǎng)頁的兩類技術(shù)
相對應(yīng)B/S和C/S這兩種架構(gòu)模式,動態(tài)網(wǎng)頁也有兩種技術(shù):“瀏覽器端Scripts”和"服務(wù)器端Scripts"。
“瀏覽器端Scripts”就是CS模式,"服務(wù)器端Scripts"就是BS模式。
瀏覽器端Scripts:
瀏覽器端Scripts指的是從服務(wù)器拉取數(shù)據(jù)到瀏覽器端,由瀏覽器的JavaScripts負(fù)責(zé)執(zhí)行運算,然后形成最終網(wǎng)頁。
原生方式:JS +Ajax
我在瀏覽器端打開一個網(wǎng)頁(html),加載完成之后,使用ajax訪問網(wǎng)絡(luò)得到j(luò)son數(shù)據(jù),使用js操作,在頁面中追加元素,并生成最終html顯示出來 。
從設(shè)計模式的角度看,客戶端和服務(wù)器之間的數(shù)據(jù)傳輸實際上是一個訂閱者模式。
原生的“JS +Ajax ”方式其實是數(shù)據(jù)刷新的拉模式,也就是說客戶端永遠(yuǎn)是主動的,只有客戶端發(fā)出Ajax請求,服務(wù)器才能把新數(shù)據(jù)推給客戶端,所以缺點就在于:數(shù)據(jù)更新不及時。服務(wù)端永遠(yuǎn)不能主動推數(shù)據(jù)通知客戶端去更新數(shù)據(jù),所以原生的“JS +Ajax ”方式就不能適應(yīng)實時數(shù)據(jù)刷新場景。
使用MVVM框架:backbone、vue、reactor、angular
MVVM框架其實就是實現(xiàn)訂閱者模式的推拉結(jié)合雙向數(shù)據(jù)通信,在客戶端和服務(wù)器之間建立雙向數(shù)據(jù)通道,
服務(wù)器端Scripts:Jsp,ASP,PHP方式
也就是jsp動態(tài)網(wǎng)頁技術(shù):在服務(wù)器端執(zhí)行“數(shù)據(jù)處理+頁面刷新”,并返回最終html頁面。
當(dāng)瀏覽器向Web服務(wù)器請求打開包含服務(wù)器端Scripts的網(wǎng)頁時(擴(kuò)展名為.php、.asp、.aspx、.jsp、.cgi等),服務(wù)器執(zhí)行里面的服務(wù)器端Scripts,將結(jié)果轉(zhuǎn)換成HTML網(wǎng)頁(擴(kuò)展名為.htm或.html),然后傳送給瀏覽器并關(guān)閉連接。
常見的服務(wù)器端Scripts
?CGI(Common Gateway Interface):CGI是在服務(wù)器端程序之間傳輸送信息的標(biāo)準(zhǔn)接口,而CGI程序是符合標(biāo)準(zhǔn)接口的Scripts,通常由Perl,Python或C語言所編寫 (擴(kuò)展名為.cgi)
?JSP(Java Server pages):JSP是sun公司所提供的動態(tài)網(wǎng)頁技術(shù),可以在HTML原始文件中嵌入Java程序并由Web服務(wù)器負(fù)責(zé)執(zhí)行(擴(kuò)展名為 .JSP).
?ASP(Active Server Pages):ASP程序是在Microsoft IIS Web服務(wù)器上執(zhí)行的Scripts,通常由VBScripts或JavaScripts所編寫(擴(kuò)展名為.ASP),而新一代的ASP.NET程序則改由功能較強(qiáng)大的Visual Basic、Visual C#、Microsoft J#、等.NET兼容語言所編寫(擴(kuò)展名為.aspx)
?PHP(PHP:Hypertext Preprocessor):PHP程序是在Apache、Microsoft IIS等Web服務(wù)器上執(zhí)行的Scripts,跨平臺(UNIX,FreeBSD,Windows,Linux,MacOS…)
總結(jié)
- 上一篇: 媒体文件信息查看工具 MediaInfo
- 下一篇: Arduino获取商业遥控器(如天地飞等