news 2026/5/10 23:12:37

探索分叉网络:构建替代规范,明确多项目标以避现有网络弊端

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
探索分叉网络:构建替代规范,明确多项目标以避现有网络弊端

引言

本文档是一系列关于构建替代网络规范的非正式笔记,旨在避开现有网络的诸多弊端,同时保留其优点。需注意,这不是正式规范,内容可能随时间改变。网络由多个组件组成,每个组件或许都要重新审视。目前,我们先关注 HTML 规范(截至 2026 年 5 月 6 日,未压缩大小为 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 是否适合简单解析。

抵御标准垄断

网络存在一个问题,一旦垄断企业找到从中获利的办法,就会有动机控制标准并为自身利益修改。就网络而言,这导致标准复杂度失控,增加了新浏览器的进入门槛,降低了市场竞争。我对如何避免这种情况有一些初步想法,但需要从博弈论的角度深入研究。

文本优先

规范的目标是提供足够详细的信息,让人们能像阅读印刷书籍或文章一样在人与人之间传递信息。书面文本应作为首选媒介,因为它是最通用的信息编码方式,可翻译、由计算机朗读或紧凑存储。文本应能根据屏幕大小自动换行,确保同一文档在大小屏幕上都能正常阅读。

无脚本化

引入脚本功能是个错误,现在我们可以避免。这并不限制用户使用交互式程序。例如,目前在浏览器中用 JavaScript 加载的交互式地图,可通过 [Geo 链接](https://en.wikipedia.org/wiki/Geo_URI_scheme) 在支持该协议的客户端中打开指定位置。同样,只要有 [开放规范](https://en.wikipedia.org/wiki/Tiled_web_map#Standards),任何客户端都能使用服务器的地图切片。使用原生程序加载标准化文件或 URL 的优势在于,它能针对使用的设备优化,避免许多交互式网页“一刀切”的问题。

非目标

我们的目标不是逐功能地克隆网络,而是创建一个规范,让人们能在不运行完整虚拟机的情况下交换知识、笔记和其他形式的信息。 [<- 返回](../index.html)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 23:11:50

终极视频下载解决方案:VideoDownloadHelper完全使用指南

终极视频下载解决方案&#xff1a;VideoDownloadHelper完全使用指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否经常在浏览网页时发…

作者头像 李华
网站建设 2026/5/10 23:10:42

快速学C语言——第 4 章:运算符与表达式

第 4 章&#xff1a;运算符与表达式 ​ 在编程中&#xff0c;我们经常需要对数据进行各种计算和比较&#xff0c;就像在数学中一样。C 语言提供了一系列运算符&#xff0c;让我们能够对变量和值进行赋值、计算、比较、逻辑判断等操作。将变量、常量和运算符按照语法规则…

作者头像 李华
网站建设 2026/5/10 23:02:39

Rust异步运行时:从Tokio到生产环境实践

Rust异步运行时&#xff1a;从Tokio到生产环境实践 引言 异步编程是现代高性能后端服务的关键技术。Rust通过async/await语法和强大的运行时实现&#xff0c;提供了卓越的异步性能。 本文将深入探讨Rust的异步运行时&#xff0c;包括Tokio、async-std等运行时的原理、使用方法和…

作者头像 李华
网站建设 2026/5/10 22:59:35

PlayCover多语言支持完整指南:让全球用户享受本地化体验

PlayCover多语言支持完整指南&#xff1a;让全球用户享受本地化体验 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover PlayCover作为一款强大的iOS应用兼容性工具&#xff0c;其多语言支持功能让全球用户…

作者头像 李华
网站建设 2026/5/10 22:58:25

基于微信平台健身小助手小程序(30285)

有需要的同学&#xff0c;源代码和配套文档领取&#xff0c;加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码&#xff08;前后端源代码SQL脚本&#xff09;配套文档&#xff08;LWPPT开题报告/任务书&#xff09;远程调试控屏包运行一键启动项目&…

作者头像 李华
网站建设 2026/5/10 22:55:51

雨天高速公路元胞传输模型可变限速控制方法【附程序】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;雨天改进元胞传输模型参数标定与验证&#xff1a; 在…

作者头像 李华