XHTML DHTML SHTML,學習網站製作會經常看到這三種名詞,又很少有文章將其做很詳細的解釋,在這篇文章裡為大家進行一下整理了解一下其區別。
XHTML:
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可助你去掉表現層程式碼的惡習,幫助你養成標記校驗來測試頁面工作的習慣。
DHTML:
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(層疊樣式表單)的縮寫,也是本站52CSS.com的主題,它是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 來完成這個任務,但是如果任務更繁重,需要更多的時間,例如5s,這時候你不用ASP 而用SHTML,或許處理時間就只用4s了。