[ASP.NET入門隨想九] 寬容——W3C 的Web標準(修改版)

來源:互聯網
上載者:User
[ASP.NET入門隨想九] 寬容
——W3C 的Web標準

 
     古老的山穀村民生活富足,守舊老人維護著經典和秩序。一位不滿現狀的漂泊者卻宣稱外面有更好的世界在等著大家,並鼓動村民跟隨前往。但守舊老人的威嚴和律法的神聖壓制了村民的躁動,漂泊者也被處死。一天災難降臨山穀。儘管守舊老人依然試圖維護經受村民的求生慾望挑戰的律法。但暴動還是發生,老人們被擊敗,新的道路和新的生活被村民找到。懷著感恩之心,後人把以前的漂泊者奉為Crowdsourced Security Testing,儘管他早已屍骨無存。

—— 房龍《寬容•序言》


■ 寬容 – W3C 的夢想
    每一部煌煌巨作似乎都始於純真的夢想,Tim Berners-Lee在BLOG中寫到:“全球資訊網的目標就是建立一個可以分享資訊的地方。我們應該有一個地方,每個人都可以進行貢獻和創作。”於是,一個用於展示資訊內容,脫胎於SGML語言,基於純文字的超文字標記語言 (HTML)(HTML)問世了,配上用於資訊定位的資源定位技術(URL)和用以共用的應用程式層協議(HTTP),這就是Berners-Lee給我們帶來的Web架構。

    隨之出現的全球資訊網開始變得混沌起來,各種力量間的博弈充滿靈動、鮮活、陰謀和智慧:微軟利用其作業系統優勢捆綁IE擠跨網景;傳說百度陽謀封殺GOOGLE長達一兩年之久;李開複最近似乎成了中國電腦專業學生的教父;中國南北電信自從分割以後就相互難通……幾年光景下來,人們發現全球資訊網看是似world wide,卻往往從屬於某種商業力量,劃江而治。

天下分久必合似乎永遠是真理,Web標準是W3C工業聯盟針對混沌的WEB用戶端技術而樹起的一面自由之旗,它夢想做到:讓所有人受益於全球資訊網,不會因他們的硬體、軟體、網路基礎設施、母語、文化、地理位置、生理或心智能力而有任何分別。

■ 書同文 – 標記語言的發展曆程
    撇開遠古時代的SGML不談,最出名的標記語言當屬Tim Berners-Lee的HTML。在設計之初他的想法非常簡單:將頁面編輯與瀏覽系統合二為一,以文字格式設定為基礎,用標籤(Tag)來描述Web頁面及頁面間連結。其具有些優勢使之廣為流傳:一是簡單,幾乎任何人用一個下午的時間就能掌握並用記事本編輯出Web頁;二是可以在任何平台和瀏覽器上運行;三是超連結使得全球資訊網中所有Web頁形成網狀互連。

 

    圖9-1是一個HTML的範例及實際瀏覽效果,可以看出,HTML幾乎是以一種最簡潔的方式完成資訊的儲存和瀏覽。標準標籤擔負著兩個任務:一是表示文檔本身的組成結構;二是定義瀏覽樣式。而從圖書管理員的角度來看,上例描述內容的資料結構9-2。

 

    隨著越來越多的內容移至網上,HTML的第一個麻煩出現了。早先的HTML僅以文本為基礎,但很快人們就開始琢磨在網上放置映像、音頻、視頻等多媒體資訊。這時,要加入什麼樣的標準標籤演化成Netscape和微軟間的商業鬥爭。這不是一個簡單輕鬆的話題,如果Netscape和微軟最終產生兩種完全毫不相干的HTML版本,人們將不得不在兩種瀏覽器之間進行選擇。更可怕的是,內容發展商必須要麼在這兩種版本的銷售商中選擇其一,要麼花費更多的人力物力來建立網頁的兩種複合版本。作為兩者妥協的結果,加上其它力量的制衡,當然也離不開Berners-Lee的個人努力——1994年10月負責標準的W3C出現。

    HTML既有控制文檔結構的標籤,如<p>、<ul>,又有控製表現的標籤<font>、<b>,這很容易使得網頁編輯者把文檔的結構和表現混雜在一塊,最為人熟知的莫過於table排版模式,嵌套的若干表格中可能沒有一個是真正用於列表資料。這是HTML遇到的第二個麻煩,帶來的問題是檔案尺寸無限變大、修改樣式困難等,更重要的是,圖書管理員角度的資料結構已被表現標籤完全破壞,如 “作者:<b>老燕</b>”。作為資訊交換的媒介,被破壞的資料結構使得HTML頁面二次利用價值很低。96年逐漸成熟的CSS使得頁面結構與表現徹底分離成為可能,也就是說在HTML文檔中可以不出現任何頁面表現標籤。與CSS相輔相成的HTML標籤是<div>(塊)和<span>(內建),它們提供一個把結構添加到文檔的通用機制,而未在內容中引入其他表現層的東西。

<html><head><title>寬容——W3C的Web標準</title></head><body>
<div id="secondTitle">ASP.net入門隨想九</div>
<div id="title">寬容——W3C的Web標準</div>
<div id="author">老燕</div>
<div id="summary">簡介Web標準的發展與作用</div>
<div id=” catalog”><ol><li>寬容 – W 3C 的夢想</li>
<li>書同文 - 標記語言的發展曆程</li>
<li>佛靠金裝 – CSS的作用</li>
<li>溝通 – DOM與ECMASript</li></ol></div>
<div id="content">本文段……</div>
</body></html>

    從一開始HTML的一項基本規則是如果瀏覽器遇到一個不理解的標記符,就忽略之。這樣的靈活性使得我們可以在文檔中出現<author>標記符,然後瀏覽器只是簡單地跳過它。這是一種實踐和擴充Web,而又保持向後相容的好辦法。但更好的方法是不再強烈依賴於集中固定的標準,而是讓瀏覽器能夠學習新的標記符。突然之間,你可以不再擔心標記符的意義,所有束縛一下被解開。或許我們用圖書管理員的角度來考慮問題是最適合不過的——我們需要的只是向對方傳遞資料本身,這種描述甚至可以方便地從資料庫直接產生,於是有XML檔案如下:
  <?xml version="1.0" encoding="ISO-8859-1"?>
<article>
<title>寬容——W3C的Web標準</title>
<secondtitle> ASP.net入門隨想九</secondtitle>
<author>老燕</author>
<summary>簡介Web標準的發展與作用</ summary >
<catalog>
<para>寬容–W 3C 的夢想</para>
<para>書同文-標記語言的發展曆程</para>
<para>佛靠金裝–CSS的作用</para>
<para>溝通–DOM與ECMASript </para>
</catalog>
<content>本文段……</content>
</article>

    但僅僅有上述描述檔案,標籤的意義只有自己知道,定義檔案(DTD或Schema)正是用以描述標籤的含義和結構。其它系統通過定義檔案來識別你的XML,或再配上XSL樣式檔案送給瀏覽器瀏覽。

    可以預見的是,如果全球資訊網上的所有Web頁都是XML檔案,資訊流可以快速流轉。但現實是,全球已堆砌出近80G技術水平參差不齊的HTML網頁。要想讓這些網頁在一夜之間一蹴而就成XML顯然缺乏足夠動力,於是W3C制訂出被其稱為“溫和的、友好的升級方式”的分頁描述語言——XHTML,XHTML改進關鍵在於兩點,一是遵循XML文法規則書寫HTML代碼;二是表現與結構分離。

■ 佛靠金裝–CSS的作用

    樣式表(Cascading Style Sheets)是一種告訴瀏覽器怎樣為頁面內容進行修飾(如字型、顏色、空間)的簡單機制,W3C在未被廣泛支援的CSS2甚至夢想支援可視、聽力、盲文等裝置,用他們的官網原話說就是用眼睛、耳朵、聲音和觸控瀏覽網頁。從使用者體驗和寬容的角度來看,CSS未來所承擔的任務不是給網頁化化妝這麼簡單。

    CSS的文法並不複雜,排版定位依賴於盒模型,9-3。但令人心煩的,主流的IE6.0和FireFox 1.x對盒模型的細節解釋有所不同,據傳IE7依然存在CSS bug。

 

■ 溝通 – DOM與ECMAScript
    頁面物件模型(Document Object Model)用於提供統一的API,將HTML或XML文檔還原為一個樹形(Tree)資料結構,Tree的每個節點表現為一個HTML標記或者HTML標記內的文本項。樹形結構精確地描述HTML文檔中標記間以及文本項間的相互關聯性。只要修改相關Tree節點都具有的 nodeValue屬性值即可操作文檔中的任何標籤,也可以方便地從頁面的任何地方開始,沿著文檔的樹型結構在上(parent)、下(child)以及一側方向(sibling)做節點導航。另外,DOM技術允許我們操縱文檔的Tree結構,包括建立、刪除以及移動節點。

 


    基於DOM的ECMAScript被W3C當著一統江湖的Web指令碼語言標準。所謂的指令碼語言是內嵌到HTML檔案中並由瀏覽器解釋執行以增加互動性和減輕伺服器壓力,基於對象(Object)和事件驅動(Event Driven)。但JavaScript和Jscript這對同父異母兄弟長期以來一直受到歧視,程式員們笑稱它們除了能在網頁中加點花花草草外別無特長,儘管程式員們需要花費大量時間來編寫表單驗證指令碼程式,使用者卻只要在瀏覽器中點一下即可禁用而繞開驗證。更令人抓狂的是各個版本的javascript雖然號稱符合標準,但卻都貌合神離,程式員們受盡苦頭!

    儘管近期隨著AJAX技術的出現,讓javascript老樹發出新芽,火了!可是我能放心把網站建立在一個脆弱的基礎之上嗎?網易的126郵箱最近改版,號稱極速,可是關了javascript連郵箱操作介面都出不來,老媽媽能知道裡頭的緣由嗎?很久以前看到這麼一句告誡:不要依靠JavaScript,唉,我猶豫,徘徊中……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.