Web 标准是由各大标准组织制定,由浏览器和其余 Web 底层框架或工具来实现,再提供给开发者能以最小成本开发适用于多平台的 Web 应用,这些标准是咱们能访问无数网站的前提。html
最近在 MDN 上学习 Web Components,学习中有些疑惑在 MDN 上没有说起,最后经过查阅 Custom elements 标准规范才解决了个人疑惑,让我感慨原来标准规范这么有用。html5
制定 Web 标准的目的是严谨、无疏漏、无歧义地描述相关技术实现,通常来讲这些标准规范是给像浏览器开发者的人来使用的,对于通常的 Web 工程师来讲,平时用不上它,由于这些标准太过啰嗦和难懂。git
可是学习标准也有它的好处。由于咱们接触的技术文档或文章,大都通过做者的理解和翻译,致使有些内容做者解读得不够全面甚至是错误的,所以影响到咱们的学习效果。因此若是想要深刻学习技术的原理,经过看最原始的标准文档,理解并创建本身知识体系,是颇有必要的。github
在 Web 发展的早期,浏览器各自为政,技术无一致实现,这直接损害了设计师、开发者、用户和行业的利益。为了解决这些问题,Web 标准计划 (Web Standards Project, WaSP) 于 1998 年成立,目标即是促进核心的 Web 标准的推广,鼓励浏览器对标准的支持,为你们寻求一条简单而便利之路。web
得益于前人努力,现在的现代浏览器表现已经愈来愈一致,进而催生出更多标准,有了这些标准咱们能够开发出体验更好的 Web 应用。浏览器
这个是全部浏览器相关的技术标准: The Web platform: Browser technologies,从中能了解到健全发展的 Web 技术生态。安全
说到 Web 标准,就不得不提制定这些标准的组织,这些标准不单只是由一个组织来制定,多个组织各自负责相关的技术领域,下面一一介绍。架构
W3C 组织为 Web 开发领域提出了不少建议,好比为 XHTML、XML、DOM、CSS 和 Web API 等技术实现提出了建议。你可能会注意到为何说是提出建议,而不是标准呢?那是由于 W3C 自认为不是标准组织,他们只是组织了 Web 相关领域的专家,这些专家组成一支工做小组,工做小组就如何实现 Web 技术提出建议。尽管 W3C 对其建议的实现方案没有任何强制权力,但他们大多数的建议都被视为事实上的标准。框架
W3C 组织关注 DOM、CSS、HTTP、媒体、性能、安全、图形学、可访问性和用户隐私等方方面面的技术,在这里能够搜索相关技术: All Standards and Drafts。dom
从 W3C 组织成员的工做手册能够看到,一项技术从提出到成为标准,须要通过 4 个阶段。
WHATWG 工做小组成立于 2004 年,原由是 W3C 组织对 HTML 再也不感兴趣,转而关注 XHTML 技术,部分 W3C 成员对此行为不满,所以他们决定创建一个新组织推进 HTML 发展,制定相关标准。现在 HTML5 技术能发展起来,也是得助于 WHATWG 小组。
WHATWG 小组因 HTML 而生,负责的 Web 标准主要是 HTML 相关技术,也涉猎一些 Web API,好比: HTML、DOM、浏览器兼容性、XHR、Fetch、Storage 和 URL 等标准。在这里能够查看全部标准:WHATWG Standards。
WHATWG 组织没有明确说明,一项技术成为标准要通过哪些阶段,他们实行的是现行标准 (Living Standard),标准由相关负责人维护升级,并由开发者或浏览器厂商提议将新功能加入标准,这一协做过程经过 Github 的 Issues 来讨论。
若是仔细看 WHATWG 和 W3C 制定的标准,会发现有些标准互有重叠,两个组织都有制定相同的技术标准,好比 DOM 标准。有一些标准会在开头说明:“该标准已经不禁咱们来维护,请查看某某组织的最新标准”。可是其余一些标准并无这样的说明,至于参考哪个标准,个人方法是查看 MDN 相关技术文档下附加的标准规范连接。
ECMA 组织负责不少与信息化相关的技术标准,其中应用最广的就是 TC39 委员会负责的 ECMAScript 标准,这标准的实现就是 JavaScript。
经过 TC39 成员的工做手册能够看出,每一项对 ECMAScript 标准的更新,须要通过 5 个阶段。
如今正在进行的提案能够在仓库 tc39 proposals 查看,从中可以学习到最新的语法并参与讨论。
IETF (The Internet Engineering Task Force) 组织主要负责制定互联网基础架构的标准,好比 TCP/IP 和 FTP 协议。
The Unicode Consortium 组织负责 Unicode 标准,正如他们所说,“咱们为每一个字符提供一个惟一的编号,不管平台是什么,不管程序是什么,不管语言是什么”。
对通常 Web 开发来讲,咱们用不上晦涩难懂的标准文档。但学习标准咱们能够收获不少,好比解决一些棘手的 bug,获取第一手学习资源,全面深刻地理解相关技术,了解技术的发展前沿。
若是你喜欢这篇文章,请关注我,我会持续输出更多原创且高质量的内容。
原文连接:了解 Web 标准规范和组织