关于分叉 Web

Lobsters Hottest 新闻

摘要

开发者 Rodrigo Arias Mallo 提议通过创建一套替代性的、简化的 HTML/Web 规范来实现 Web 的分叉,目标包括严格的语义化版本控制、正式且无歧义的语法,以及限制规范体量以促进浏览器多样性。该提议与轻量级浏览器 Dillo 项目相关联。

<p><a href="https://lobste.rs/s/ho7nqt/on_forking_web">评论</a></p>
查看原文 导出为 Word 导出为 PDF
查看缓存全文

缓存时间: 2026/05/09 10:39

# 关于分叉 Web 来源:https://dillo-browser.org/lab/web-fork/ *由 Rodrigo Arias Mallo 撰写于 2026-05-06* ## 简介 本文档包含一组非正式笔记,探讨如何为 Web 构建一套替代规范——既能尽量规避其诸多弊端,又能保留其中的优点。本文档并非正式规范,因此内容可能随时间推移而有所调整。 Web 由多个组成部分构成,每个部分可能都需要审视。目前先聚焦于 HTML 规范(截至 2026-05-06,未压缩大小为 18.3 MiB),其余部分留待后续讨论。 ## 目标 在制定规范之前,我们首先需要明确一套目标清单,以指导哪些内容应当纳入规范、哪些不应纳入。 ### 简洁性 整套规范必须简单精炼,以确保各类浏览器和其他客户端都能以较低的成本实现。长期(数十年)保持简洁非常困难,甚至几乎不可能。一个可行的方法是对规范的体积(字节数)加以限制。Dillo 项目已经采用了这种思路——将发行版限制在单张软盘的容量内,我们可以沿用这一方法:将完整规范的压缩 tar.gz 大小上限设为 1.44 MiB。 ### 语义化版本控制 当前的 [Web 规范](https://html.spec.whatwg.org/multipage/) 大约每周更新一次,这使得开发者几乎无法在无需持续修改的前提下实现一个符合规范的客户端。规范应当采用精确的语义化版本号,例如 1.2.3,以便明确:一个符合 1.2.3 版本的页面,可以被支持 1.2.3、1.2.0 或 1.3.0 的浏览器正确渲染,但无法被仅支持 1.1.0 或 2.0.0 的浏览器正确渲染。 语义化版本号能让作者专注于标准本身,而非某个浏览器的当前实现状态。例如,你可以将目标定为 1.2.0 版本,并确信有约 90% 的浏览器支持该标准。 已发布的版本**永远、永远、永远、永远不会**更改。错别字的修正通过递增修订版本号来处理;向后兼容的新特性通过递增次版本号引入;破坏性变更则需要递增主版本号。这意味着你可以购买一份 1.2.0 标准的印刷版,在与世隔绝的地方用它开发出完全合规的浏览器,该浏览器将永远能够正确解析 1.2.X 的文档。 ### 严格语法 规范必须包含一套无歧义的形式文法,使其易于解析。页面可以依据标准进行验证,并被判定为合规或不合规。不符合规范的页面将不被渲染。客户端被明确禁止接受任何不符合规范的页面。这样可以避免为了兼容破损页面而不得不实现那些令人头疼的标准化规则,同时也倒逼规范在后续版本中修正自身的错误。 严格的语法可能会促使用户迁移到更易于书写、更宽容的语言(例如 Markdown),而这正是我们所期望的效果。其目标是简化解析器的实现,降低开发内容处理工具的成本。 特别需要指出的是,修订版本号的变更仅涉及措辞调整,语法保持不变。 ### 尽可能复用 HTML 如果能够基于 HTML 的子集来构建规范,使其能够以最少的工作量在现有软件中运行,那将是非常理想的。然而,考虑到 HTML 解析的复杂性,这可能并不现实。同样,为 XML 文档制定形式文法也并非易事。因此,需要认真评估 HTML/XML 是否适合作为简单解析的格式。 ### 抵抗标准劫持 Web 面临的问题之一是:一旦垄断性实体找到从中牟利的机制,就会有动机劫持标准、将其改造为服务于自身利益的工具。就 Web 而言,这导致标准复杂度失控增长,从而提高了新浏览器的准入门槛,抑制了竞争。 我对如何防范这一情况有一些初步设想,但这需要从博弈论的角度进行更深入的研究。 ### 文本优先 本规范的目标是涵盖足够的细节,以支持人与人之间的信息传递——其方式与印刷书籍或文章大体相同。书面文字应作为首选媒介,因为它是编码信息最通用的方式:可以被翻译、可以由计算机朗读,也可以以紧凑的存储空间保存。 文本应能自动适应屏幕宽度换行,使同一份文档在大小屏幕上均可正常阅读。 ### 不支持脚本 加入脚本能力是一个错误,我们现在可以避免重蹈覆辙。这并不意味着用户无法使用交互式程序。以交互式地图为例,目前通常通过 JavaScript 在浏览器中加载以显示兴趣点位置;替代方案是提供一个 [Geo 链接](https://en.wikipedia.org/wiki/Geo_URI_scheme),让任何支持该协议的客户端打开对应位置。同样,任何客户端都可以使用服务器提供的地图瓦片,前提是存在[开放规范](https://en.wikipedia.org/wiki/Tiled_web_map#Standards)。 使用原生程序加载标准化文件或 URL 的优势在于:它可以针对当前设备进行优化,避免许多交互式 Web 页面"一刀切"的问题。 ## 非目标 本规范的目标并非逐特性克隆 Web,而是创建一套规范,让人们能够在无需运行完整虚拟机的前提下交流知识、笔记及其他形式的信息。

相似文章

万物皆树:Web Origami 探秘

Lobsters Hottest

Web Origami 是一款基于 JavaScript 的灵活静态站点生成与数据转换工具,它将所有内容视为可互操作的树结构。

Emacs 就是我的浏览器

Lobsters Hottest

Joshua Blais 分享自己如何用 Emacs 内置的 EWW 替代主流浏览器,完成 85–90% 的日常上网需求,称此举干扰更少、信噪比更高。