Forking the Web: A Blueprint for a Simpler, Document-Centric Internet
現代的網路已從超連結文件的集合演變成一個由複雜應用程式構成的龐大生態系統。雖然這種轉型促成了強大雲端軟體的興起,但也付出了巨大的代價:極度的規範膨脹、需要龐大的虛擬機器(瀏覽器)來渲染簡單的文字,以及網路標準被企業掌控的趨勢。
在一份題為「On forking the Web」的挑釁性提案中,Rodrigo Arias Mallo 建議,要恢復網路作為知識交換媒介的原始用途,唯一的途徑就是有效地「分叉」(fork)該規範。透過建立一個全新的、精簡的標準,我們可以將人類的可讀性與可訪問性置於應用程式複雜性之上。
The Pillars of a Simplified Web
Mallo 概述了幾個驅動替代網路規範開發的核心目標,重點在於技術的可持續性與客戶端的多元性。
1. Radical Simplicity and Size Constraints
為了防止目前 HTML 規範中不可避免的「功能蔓延」(feature creep),Mallo 建議對規範本身的規模進行硬性限制。從 Dillo 瀏覽器的哲學(即容納於單張軟碟中)中汲取靈感,他建議將完整的壓縮規範限制在 1.44 MiB 以內。這種限制確保了標準能保持足夠的小巧,讓各種輕量級客戶端能以最小的努力來實作。
2. Semantic Versioning
與目前「Living Standard」的方法(規範每週都在變動)不同,分叉後的網路將採用嚴格的語義化版本控制(例如 1.2.3)。這能為開發者與作者提供穩定性。已發布的版本將是不可變的;拼寫錯誤會觸發 patch 升級,新功能會觸發 minor 升級,而破壞性變更則需要 major 版本升級。這讓開發者能針對特定版本構建一個符合規範的瀏覽器,並確信它將永遠有效。
3. Strict Grammar and Validation
該提案中最具爭議的點之一是堅持使用非歧義的正式語法。在這種系統下,不符合規範的頁面將直接無法渲染。
雖然這消除了瀏覽器目前為了猜測損壞 HTML 的意圖而實作的「惡魔般的規則」,但卻將正確性的責任轉嫁給了作者。其目標是鼓勵使用更簡單、更寬容的編寫語言(例如 Markdown),這些語言可以被可靠地編譯成嚴格且有效的規範格式。
4. The Removal of Scripting
Mallo 主張,為網路添加腳本功能是一個根本性的錯誤。他建議不應在每個頁面中嵌入 VM(JavaScript),而是使用標準化的協定。例如,與其使用基於 JavaScript 的互動式地圖,頁面可以提供一個 Geo link,觸發使用者使用者的偏好原生地圖應用程式。這將優化權力歸還給裝置與使用者,而非現代網路應用程式那種「一體適用」的方法。
The Debate: Robustness vs. Rigidity
該提案在技術社群中引發了顯著的辯論,核心在於「完美」的規範與「可用」的網路之間的緊張關係。
The "XHTML Lesson"
幾位批評者指出 XHTML 的失敗是一個警示案例。XHTML 試圖將嚴格的 XML 解析引入網路,但它失敗了,因為使用者發現「解析錯誤」是不可接受的。
正如一位評論者所言:
"Getting a 'parser error' is always worse than getting a page that 99% works... The fact that horribly broken old sites can stay online and stay readable is a huge part of the web's value."
The Security and Sandbox Trade-off
雖然該提案尋求消除瀏覽器的「全功能 VM」,但有人認為這款 VM 正是讓網路安全的關鍵。透過在沙盒中執行 JavaScript,使用者可以體驗互動式內容,而無需在機器上安裝隨機的二進位檔案。將互動性移至原生客戶端(透過 Geo links 等協定)可能會增加使用者作業系統的攻擊面。
The "Gemini" Alternative
許多觀察者指出,這份提案與 Gemini protocol 的目標非常相似,後者是一種輕量級的 HTTP/HTML 替代方案,明確禁止腳本,並專注於簡單的文字基礎體驗。
討論顯示,與其「分叉」網路(這暗示著需要瀏覽器相容性),建立全新的、平行的協定對於那些重視簡潔性而非功能性的人來說,可能更具實踐性。
Conclusion: Documents vs. Applications
衝突的核心在於「文件」與「應用程式」之間的區別。現代網路已將這兩者合併為單一圖層,迫使每個想要閱讀文字文章的人,都必須載入與執行複雜試算表應用程式所需的相同引擎。
無論是透過 HTML 的嚴格分叉,還是轉向像 Gemini 這樣的協定,對於那些對現代網路的複雜性感到疲憊的人來說,渴望一個「輕量版網路」(web-lite)——一個安全、有版本控制且簡單的人類知識交換媒介——仍然是一個強大的驅動力。