強韌網頁設計 — 第一章:基礎

Jacky
7 min readJan 26, 2017

--

人類文明之史是一個積累努力的故事。每一代皆建基於前人之業,時而後退,時而碰到死胡同,但我們繼續掙扎,一絲一點令我們進步。無論進步是漸進還是跨大步,都總是繼承著前人的功業。

這進步的層層特質最顯見於科技史中。即使最戲劇性的科技進步,也只有建立於某些基礎之上才可能。

若非有製酒的螺旋壓榨機,就沒有古騰堡的印刷。技術並非單獨的創造,總有過去的印記。

QWERTY 鍵盤的排列─也就是你手機上的虛擬鍵盤─來自第一代打字機的設計,為的是為防止打字頭撞在一起。

順時針的方向所以如此,皆因北半球日晷落影這方向,若歷史稍為不同,南半球文明先起,則當今的時針方向可能反轉。而一日所以有廿四小時,每小時六十分鐘,每分鐘六十秒,則要歸功於蘇美文明,他們用六十作數算和商貿的單位,這數能被一至六等分。用於時分秒的六十進位,仍是我們現在等分地球自轉一圈所用的概念模型。

南半球的日晷落影是逆時針的

過去的聲音仍於現在縈繞,即使已失去其用。你有時仍可見 CD 或唱片的圖示來表示音樂,或3.5吋磁碟來表示儲存資料。3.5吋的設計原本是為了可以放在襯衣前袋。這些軟件圖示向我們細語有關衣服和潮流的歷史。

讓我們分享所知

一路以來若沒有知識分享,科學不可能進步。如牛頓所言,我們更能遠目,因為站在巨人肩膀之上。

當知識一代一代傳下去,理論變得更精煉,計量變得更標準,實驗變得更精準。

人類當今最精細的實驗在瑞士與法國交界進行。這是 CERN 的老家,歐洲核研究組織。16公里長的強子撞擊器裏,質子以接近光速對撞。我們這些靈長類動物正重建宇宙的初始條件。LHC 是當今最複雜的機器。

LHC 的凜然工程,需要 CERN 於背後促成前所未有的國際合作。粒子加速度在21世紀初至可運作,不過其基礎早於半個世紀前已確立。那時各國聚首一堂成立 CERN 大會,為純科學研究注以資源資金,只求知識作回報。

這基礎建立了獨特的環境,使之免於國際、經濟、社會階級的限制。諾貝爾物理學得奬學者與暑期實習生共同合作。唯一的分類,就是理論家與實驗家。理論家是在辦工室掛黑版的人,而實驗家則是擁有電腦的人,他們需要處理大量資料。即使 LHC 還未啟動,管理這些資料也已是 CERN 的一大挑戰。

添‧伯納斯-李(Tim Berners-Lee)是來自英國的電腦科學家,於1980年代在 CERN 工作。在最初十年,他開始了一個個人專案去管理資料。結果是名叫 Enquire 的軟件,取名自維多利亞時代的一本叫《查詢所有事 (Enquire Within Upon Everything)》的家居生活手冊。

查詢所有事

於八十年代末,添‧伯納斯 — 李已準備好對付大規模資訊管理的棘手問題。為了讓 CERN 買賬,他寫了一份低調的文件,題為《資訊管理之一建議 (Information Management: A Proposal)》。幸好他的主管麥克·森德爾(Mike Sendall)看出此中潛力,在文件上頭寫著「含糊但刺激…」的字眼,讓他去做。此建議將成日後的萬維網。

含糊但刺激…

網絡的價值

我們今天覺得萬維網是通訊史上其一重大發明,但對 CERN 科學家來說那只是一個副產品。當你在處理天文時間尺度東西,研究真實的最基本構成時,人類與科技之時日不過就像捨入誤差般微小。

當添.伯納斯-李決定解決 CERN 的資訊管理問題時,當時互聯網已是那裏的部份基礎設施。這個網絡上的網絡首創於1960年代,最先被大學和研究所所用。

那時的節點(node)已經以電話線相連,所以相比起從新建立網絡,使用現有的更明智。再一次,有舊科技才有新科技。十九世紀世界被電報線重塑,驚人的工程將我們的星球以海底電纜連接。這些電纜之後會轉為傳輸電話訊號,再之後就傳互聯網的數位0和1,今天這些訊號以光脈衝的形式通過光纖傳送,跟從其電報線先祖的相同海床路徑。

TeleGeography每年出版新的海底電纜地圖

互聯網沒有中心,此一決定使網絡穩固。你可能聽過互聯網是設計得可抵擋核子攻擊,這不完全正確。這專案的確有軍方的考慮,初期由 DARPA (Defense Advanced Research Projects Agency,國防高等研究計劃署)資助研究,但當中工程師並非軍方人員,他們理想較傾向言論自由運動一面,而非軍事工業綜合體一面。他們將網絡設計成可繞過來自審查的損害,而非核武攻擊。

此開放架構反映創造者的自由觀。除了去中心化,互聯網更特地被設計成沉默的,是其秘方。當中的通訊協議 — TCP/IP — 只形容資料包如何移動,但不理內容。這使互聯網可成為舉凡電郵、telnet、FTP 等,以至萬維網所使用的傳輸機制。

超空間

網絡使用 HTTP (HyperText Transfer Protocol,超文本傳輸協定),來傳送和接收資料。這資料以 URL 作識別,很多 URL 指向 HTML (HyperText Markup Lanugage,超文本標記語言)所寫的網頁,而網絡的殺手級功能落於 HTML 裏這謙遜的 A 元素。A 代表錨點(Anchor),其 HREF 屬性讓你由一個 URL 跳到另一個 URL,創造一頁去一頁的連結。這些連結使網絡由單單存取的系統,變成超文本系統。

添.伯納斯-李並沒有發明超文本,這詞語由泰德·尼爾森(Ted Nelson)所創,這位具遠見的電腦科學家建立了自己的超文本系統,叫 Xandadu。泰德·尼爾森與添.伯納斯-李皆被1945年萬尼瓦爾·布希(Vannevar Bush)的論文《As We May Think》(如我們所想)裏記載的想法所影響。而布希亦其實被比利時的資訊學家保羅‧奧特勒(Pual Otlet)想法所影響。超文本史上的每個巨人都站於前一個巨人之上,一直到尾。

相比於之前有關超文本的偉大願景,網絡的超連結簡直是簡單得可笑。連結不是相向的,如果你連向一個 URL,而所指向的頁面搬走或消滅了,你是沒法得知的。

但這種簡單結果成為網絡成功的秘密。

添.伯納斯-李以為多數 URL 都會指向非 HTML 資源,如文字處理檔、試算表和其他不同類型的電腦檔案,HTML 則用來建立連向它們的目錄頁。由於 HTML 只需做不多的事,所以其詞彙很有限,這使其變得相對易學。讓他意外地,人們開始寫全 HTML 的文件。人們開始不再以 HTML 連結其他檔案格式所創建的內容,而是直接在 HTML 裏寫內容。

標示不標示

HTML 不是首個用於 CERN 的標記語言。科學家早已用 SGML ─ Standard Generalized Markup Language(標準通用標記語言)來寫文件用以分享。添.伯納斯-李使用 CERN SGML 現有的詞彙為他的新標記語言為基礎。再一次,使用一些人們早已熟知的東西來建立,比起由頭做起更有道理。

第一版本的 HTML 共有21個元素,很多至今仍在─TITLE, P, UL, H1, H2 等等,當然還有 A 元素。其他則沒有留下─ ISINDEX, PLAINTEXT, LISTING, HP1, HP2 等等,還有一個專用元素 NEXTID,只在使用 NeXTSTEP 作業系統時才有用,這也是添.伯納斯-李當時在 NeXT 機器上使用作業系統。他在其上建立 HTTP、HTML 和世界第一個瀏覽器,頗混亂地這瀏覽器也叫「萬維網」(WorldWideWeb)。

為展示網絡的能力和如何互相操作,需要一個跨平台的瀏覽器,讓使用任何作業系統的人都可以安裝使用。打造瀏覽器的工作交給了 CERN 裏一位本科生尼可拉‧佩爾諾(Nicola Pellow)。她創造了行式瀏覽器(Line Mode Browser),簡單而強大,雖不如萬維網瀏覽器那麼可互動,但因為可以運行於任何機器,大家都可以連上網絡了。

行式瀏覽器

有了兩個瀏覽器,相互操作和向後支援成為首要問題。如果行式瀏覽器遇上不懂的 HTML 元素如 NEXTID 該如何辦?

答案在添.伯納斯-李寫的一份小文檔《HTML 標籤(HTML Tags)》,在「NEXT ID」標題下他寫道:

瀏覽器或可忽略此標籤

這看似無傷大雅的決定,對萬維網有著深遠的影響。

添.伯納斯-李

參考資料

--

--