1. 程式人生 > >xhtml,xml,html,和dhtml的關係和區別

xhtml,xml,html,和dhtml的關係和區別

HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言,看起來與HTML有些相象,只有一些小的但重要的區別,XHTML就是一個扮演著類似HTML的角色的XML,所以,本質上說,XHTML是一個過渡技術,結合了XML(有幾分)的強大功能及HTML(大多數)的簡單特性。 

2000年底,國際W3C(World Wide Web Consortium)組織公佈發行了XHTML 1.0版本。XHTML 1.0是一種在HTML 4.0基礎上優化和改進的的新語言,目的是基於XML應用。XHTML是一種增強了的HTML,它的可擴充套件性和靈活性將適應未來網路應用更多的需求。下面是W3C的HTML工作組主席Steven Pemberton回答的關於XHTML的常見基礎問題。 

(1)XHTML解決HTML語言所存在的嚴重製約其發展的問題。HTML發展到今天存在三個主要缺點:不能適應現在越多的網路裝置和應用的需要,比如手機、PDA、資訊家電都不能直接顯示HTML;由於HTML程式碼不規範、臃腫,瀏覽器需要足夠智慧和龐大才能夠正確顯示HTML;資料與表現混雜,這樣你的頁面要改變顯示,就必須重新制作HTML。因此HTML需要發展才能解決這個問題,於是W3C又制定了XHTML,XHTML是HTML向XML過度的一個橋樑。 
(2)XML是web發展的趨勢,所以人們急切的希望加入XML的潮流中。XHTML是當前替代HTML4標記語言的標準,使用XHTML 1.0,只要你小心遵守一些簡單規則,就可以設計出既適合XML系統,又適合當前大部分HTML瀏覽器的頁面。這個意思就是說,你可以立刻設計使用XML,而不需要等到人們都使用支援XML的瀏覽器。這個指導方針可以使web平滑的過渡到XML。 
(3)使用XHTML的另一個優勢是:它非常嚴密。當前網路上的HTML的糟糕情況讓人震驚,早期的瀏覽器接受私有的HTML標籤,所以人們在頁面設計完畢後必須使用各種瀏覽器來檢測頁面,看是否相容,往往會有許多莫名其妙的差異,人們不得不修改設計以便適應不同的瀏覽器。 
(4)XHTML是能與其它基於XML的標記語言、應用程式及協議進行良好的互動工作。 
(5)XHTML是Web標準家族的一部分,能很好在無線裝置等其它使用者代理上。 
(6)在網站設計方面,XHTML可助你去掉表現層程式碼的惡習,幫助你養成標記校驗來測試頁面工作的習慣。 
 

XHTML特點: 
標籤要成對使用,小寫標籤及其屬性。獨立標籤也要使用/>來關閉,例如
變成
。要保證完整的結構。屬性值必須被引用(就是把屬性值用雙引號括起來),屬性縮寫被禁用。使用id代替name等等。 


--------------- 
DHTML 

其實這個東西更加簡單,並不能稱作一項新的技術(即使在最初被使用的時候),因為,簡單的說: 
DHTML=HTML+DOM+CSS+Script 

HTML用來定義網頁元素,如段落、表格等。 CSS用來描述元素屬性,如大小、顏色、位置等。 指令碼語言用來操縱網頁元素和瀏覽器。 

DOM是什麼呢? 

DOM就是瀏覽器物件模型(Document Object Modle
OM)指令碼可以通過瀏覽器物件模型,來對瀏覽器進行操作。 

以一個人來作比喻DHTML,那麼HTML就是這個人的肉體,而CSS就是這個人的服裝等等修飾,Script就是他的靈魂。 
確切地說,DHTML只是一種製作網頁的概念,實際上沒有一個組織或機構推出過所謂的DHTML標準或技術規範之類的。DHTML不是一種技術、標準或規範,DHTML只是一種將目前已有的網頁技術、語言標準整和運用,製作出能在下載後仍然能實時變換頁面元素效果的網頁的設計概念。 

DHTML大致包含以下網頁技術、標準或規範: 
HTML 4.0 
沒什麼好說的,網頁的基礎語言標準。 
CSSL 
注意!不是CSS,是CSSL,它是Clent-Side Scripting Language的縮寫,譯作“客戶端指令碼語言”,主要有JavaScript(JS),VBScript(VBS),JScript。Netscape主要支援JS,IE主要支援JS,VBS和JScript。 
DOM 
Document Object Model的縮寫,譯作“文件物件模型”,是W3C日前極力推廣的web技術標準之一,它將網頁中的內容抽象成物件,每個物件擁有各自的屬性(Properties)、方法(Method)和事件(Events),這些都可以通過上面講到的CSSL來進行控制。IE和NS的物件模型都是以W3C的公佈的DOM為基準,加上自己的Extended Object(擴充套件物件)來生成的。 
CSS 
這才是Cascading Style Sheets(層疊樣式表單)的縮寫,也是在論壇討論最多的技術規範,它是HTML的輔助設計規範,用來彌補HTML在排版上的所受的限制導致的不足,它是DOM的一部分。理論上說通過CSSL動態地改變CSS屬性可以做出任何你想要的頁面視覺效果。 
所以,簡單地說,要實現DHTML,就是以HTML為基礎,運用DOM將頁面元素物件化,利用CSSL控制這些物件的CSS屬性以達到網頁的動態視覺效果。 


shtml: 
問起SHTML和HTML的區別,如果用一句話來解釋就是:SHTML 不是HTML而是一種伺服器 API,shtml是伺服器動態產成的html. 

雖然兩者都是超文字格式,但shtml是一種用於SSI技術的檔案。 也就是Server Side Include--SSI 伺服器端包含指令。 如果Web Server有SSI功能的話(大多數(尤其是基於Unix平臺)的WEB伺服器如Netscape Enterprise Server等均支援SSI命令)。 
會對shtml檔案特殊招待。 先掃一次shtml檔案看沒有特殊的SSI指令現在。 
有就按Web Server設定規則解釋SSI指令。 解釋完後跟一般html一起掉去客戶端。 
shtml 
使用SSI(Server Side Include)的html副檔名,SSI(Server Side Include),通常稱為"伺服器端嵌入"或者叫"伺服器端包含",是一種類似於ASP的基於伺服器的網頁製作技術。 

SSI工作原理: 
將內容傳送到瀏覽器之前,可以使用“伺服器端包含 (SSI)”指令將文字、圖形或應用程式資訊包含到網頁中。例如,可以使用 SSI 包含時間/日期戳、版權宣告或供客戶填寫並返回的表單。對於在多個檔案中重複出現的文字或圖形,使用包含檔案是一種簡便的方法。將內容存入一個包含檔案中即可,而不必將內容輸入所有檔案。通過一個非常簡單的語句即可呼叫包含檔案,此語句指示 Web 伺服器將內容插入適當網頁。而且,使用包含檔案時,對內容的所有更改只需在一個地方就能完成。 

因為包含 SSI 指令的檔案要求特殊處理,所以必須為所有 SSI 檔案賦予 SSI 副檔名。預設副檔名是 .stm、.shtm 和 .shtml 

Web 伺服器在處理網頁的同時處理 SSI 指令。當 Web 伺服器遇到 SSI 指令時,直接將包含檔案的內容插入 HTML 網頁。如果“包含檔案”中包含 SSI 指令,則同時插入此檔案。除了用於包含檔案的基本指令之外,還可以使用 SSI 指令插入檔案的相關資訊(如檔案的大小)或者執行應用程式或 shell 命令。 

網站維護常常碰到的一個問題是,網站的結構已經固定,卻為了更新一點內容而不得不重做一大批網頁。SSI提供了一種簡單、有效的方法來解決這一問題,它將一個網站的基本結構放在幾個簡單的HTML檔案中(模板),以後我們要做的只是將文字傳到伺服器,讓程式按照模板自動生成網頁,從而使管理大型網站變得容易。 

所以,利用SHTML格式的頁面目的和 ASP 差不多,但是因為是 API 所以運轉速度更快,效率更高,比ASP快,比HTML慢,但由於可以使用伺服器端包含,因此使頁面更新容易(特別是批量更新banner,版權等),想象一下吧,你有一段 HTML,要在中間穿插一些特殊的服務端指令碼,比如插入其他 HTML 段落,你選擇 ASP 來完成這個任務,但是如果任務更繁重,需要更多的時間,比如 5 s,這個時候你不用 ASP 而用 SHTML,或許處理時間就只用 4 s 了. 

相關推薦

no