🎊 标准化组织和 Web 标准

标准化组织和 Web 标准

这篇文章一起来捋一捋 Web 标准相关的知识,Web 开发中会涉及到哪些标准规范,而这些标准规范又是由谁制定发布的。

1 制定标准的组织机构

标准和规范都不是凭空出现,它们大都在实践中产生,并由一些组织机构进行标准化。

部分标准化组织

International Telecommunications Union (ITU) 国际电信联盟,成立于1865年

American Society of Mechanical Engineers (ASME) 美国机械工程师协会,成立于1880年

American Society for Testing Materials (ASTM) 美国材料与试验协会,成立于1882年

British Standards Institution (BSI) 英国标准学会,成立于1901年

International Electrotechnical Commission (IEC) 国际电工委员会,成立于1906年

Deutsches Institut für Normung e.V. (DIN, en: German Institute for standardization) 德国标准化协会,成立于1917年

American National Standards Institute (ANSI) 美国国家标准学会,成立于1918年

Association Française de Normalisation (AFNOR, en: French Standardization Association) 法国标准化协会,成立于1926年

International Organization for Standardization (ISO) 国际标准化组织,成立于1946年

Japanese Industrial Standards Committee (JISC) 日本工业标准调查会,成立于1949年

European Computer Manufacturers Association (ECMA) 欧洲计算机制造商协会,成立于1961年

Ecma International Ecma 国际,1994年“ECMA”更名为“Ecma 国际”

European Committee for Standardization (CEN) 欧洲标准化协会,成立于1961年

European Committee for Electrotechnical Standardization (CENELEC) 欧洲电工标准化委员会,成立于1976年

China Association for Standardization (CAS) 中国标准化协会,成立于1978年

Institute of Electrical and Electronics Engineers (IEEE) 电气和电子工程师协会,成立于1985年

Internet Engineering Task Force (IETF) 互联网工程任务组,成立于1986年

Internet Assigned Numbers Authority (IANA) 互联网数字分配机构,成立于1988年

European Telecommunications Sdandards Institute (ETSI) 欧洲电信标准化协会,成立于1988年

Unicode Consortium 统一码联盟,成立于1991年

Asia-Pacific Network Information Center (APNIC) 亚太互联网络信息中心,成立于1993年

World Wide Web Consortium (W3C) 万维网联盟,成立于1994年

American Registry for Internet Numbers (ARIN) 美国互联网号码注册中心,成立于1997年

China Internet Network Information Center (CNNIC) 中国互联网络信息中心,成立于1997年

Internet Corporation for Assigned Names and Numbers (ICANN) 互联网名称与数字地址分配机构,成立于1998年

Standardization Administration of the People’s Republic of China (SAC) 中华人民共和国国家标准化管理委员会,成立于2001年

International Digital Publishing Forum (IDPF) 国际数字出版论坛,2017年与W3C合并

Khronos Group 科纳斯组织,成立于2000年

Web Hypertext Application Technology Working Group (WHATWG),Web 超文本应用技术工作组,成立于2004年

这些标准化组织都和哪些标准或者规范相关

最常见的计算机编码标准 ASCII,由美国标准学会(American Standards Association,ASA)在1963年发布,ASA 也就是后来的美国国家标准学会(ANSI)。

截至2019年7月,国内的计算机软件必须支持的 GB 18030 编码标准,即“GB 18030-2005 信息技术 中文编码字符集 Information technology - Chinese coded character set”由国家质量监督检验检疫总局和国家标准化管理委员会于2005年发布。

注:中国国家标准主要分为强制性标准(代号为“GB”,即“国标”汉语拼音的首字母)和推荐性标准(代号为“GB/T”,其中“T”为“推”的汉语拼音首字母)两类。

Unicode 字符集以及 Emoji 表情由统一码联盟(Unicode Consortium)制定发布。

C语言,于1972年由 Dennis Ritchie 设计,1989年由美国国家标准学会(ANSI)进行标准化,并发布 ANSI X3.159-1989,即“C89”标准,1990年被国际标准化组织(ISO)采纳为 ISO/IEC 9899 标准,即“C90”。

常见的 IEEE 754 二进制浮点数算术标准,IEEE 802.11 无线网标准,操作系统的 POSIX 标准(IEEE 1003)等都由电气和电子工程师协会(IEEE)制定。

TCP,UDP,IP,DNS,HTTP/1.1,HTTP/2,WebSocket,URL,SMTP……这些互联网基础协议,都由互联网工程任务组(IETF)制定发布,如 HTTP/1.1 协议草案标准 RFC 2616,URI 语法标准 RFC 3986 等,互联网工程任务组(IETF)发布的标准即通常所说的 RFC 文档。

互联网数字分配机构(IANA)负责全球互联网域名系统的设计、维护及地址资源分配,亚太互联网络信息中心(APNIC)负责亚洲与太平洋地区的IP地址资源分配与管理,中国互联网络信息中心(CNNIC)的职能类似。2016年,美国将互联网数字分配机构(IANA)职能管理权移交给互联网名称与数字地址分配机构(ICANN)。互联网名称与数字地址分配机构(ICANN)负责在全球范围内对互联网唯一标识符系统及其安全稳定的运营进行协调,包括互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理。

文件媒体类型,如 text/plain(纯文本),text/html(HTML),application/json(JSON),application/javascript(JavaScript),申请和分配由 IANA 管理。

HTML,CSS,XML,XHTML,DOM,SVG,Canvas,Web works……之类的 Web 标准则由万维网联盟(W3C)制定发布。2017年,负责 EPUB 数字出版格式的国际数字出版论坛(IDPF)在与万维网联盟(W3C)合并。2019年,HTML 和 DOM 标准正式由 Web 超文本应用技术工作组(WHATWG)负责制定。

OpenGL,OpenGL ES,OpenCL,OpenXR,WebGL……之类图形相关的标准由科纳斯组织(Khronos Group)制定发布。

JavaScript 语言,于1995年由 Brendan Eich 设计,1996年由 Netscape 公司提交到 Ecma International 协会进行标准化,1997年发布 ECMA-262 标准,即 ECMAScript,后被国际标准化组织(ISO)采纳为 ISO/IEC 16262 ECMAScript language specification 标准。

数据交换格式 JSON,于2000年由 Douglas Crockford 设计,2013年被标准化为 RFC 7158 和 ECMA-404 标准,2017年,RFC 7158 被 RFC 8259 取代,同时被国际标准化组织(ISO)采纳为 ISO/IEC 21778:2017 标准。

标准之间的关系

不同组织之间有很多重合的标准,因为很多标准会同时被多个组织采纳,或者国家标准、行业标准后来发展成为国际标准。如 ECMA/ANSI/IEEE 等组织机构制定的一些标准,它们同时也可能是 ISO 标准:

ECMA-6 7-bit Coded Character Set 对应 ISO/IEC 646:1991

ECMA-35 Character Code Structure and Extension Techniques 对应 ISO/IEC 2022:1994

ECMA-48 Control Functions for Coded Character Sets 对应 ISO/IEC 6429:1992

ANSI X3.159 Programming languages - C (ANSI C) 对应 ISO/IEC 9899

IEEE 1003.1 Portable Operating System Interface (POSIX) 对应 ISO/IEC 9945

2 W3C 万维网联盟

W3C 的标准种类

W3C 标准的文档主要有以下几类:

Editor’s Draft (ED) 编辑草案

Working Draft (WD) 工作草案

Last Call Working Draft (LC) 最终工作草案

Candidate Recommendation (CR) 候选推荐标准

Proposed Recommendation (PR) 提案推荐标准

W3C Recommendation (REC) W3C 推荐标准

An Edited Recommendation 被编辑的推荐标准

An Amended Recommendation 被修正的推荐标准

An Superseded Recommendation 被取代的的推荐标准

An Obsolete Recommendation 过时的推荐标准

Rescinded Recommendation 已撤销的推荐标准

Working Group Note, Interest Group Note (NOTE) 工作组备忘,兴趣组备忘

W3C 发布的标准被称为 Technical Report (TR) 技术报告。

W3C 的工作流程可以浏览 W3C Process Document。

W3C 的工作组织

Working Group (WG) 工作组

HTML Working Group HTML 工作组

CSS Working Group (CSSWG) CSS 工作组

WebAssembly Working Group WebAssembly 工作组

Audio Working Group 音频工作组

Timed Text Working Group 时序文本工作组

Accessible Rich Internet Applications Working Group 可访问富互联网应用(ARIA)工作组

Accessibility Guidelines Working Group 可访问性指南工作组

Web Performance Working Group Web 性能工作组

Web Authentication Working Group Web 认证工作组

Immersive Web Working Group 沉浸式 Web 工作组

Second Screen Working Group 第二屏工作组

……

Interest Group (IG) 兴趣组

Internationalization Interest Group 国际化兴趣组

Chinese Web Interest Group Web 中文兴趣组

……

Community Group (CG) 社区组

Web Incubator Community Group (WICG) Web 平台孵化社区组

WebAssembly Community Group WebAssembly 社区组

EPUB 3 Community Group EPUB 3 社区组

Responsive Issues Community Group (RICG)

Credentials Community Group 凭证社区组

Immersive Web Community Group 沉浸式 Web 社区组

Data Visualization Community Group 数据可视化社区组

Chinese Digital Publishing Community Group 中文数字出版社区组

Chinese Accessibility Community Group 中国信息无障碍社区组

……

Business Group (BG) 商务组

Publishing Business Group 出版商务组

Task Force 特别任务组

Chinese Layout Requirement Task Force 中文文字布局需求特别任务组

CSS-TAG Houdini Task Force (CSS Houdini)

CSS-SVG Effects Task Force (FX TF)

……

……

W3C 的标准

见 W3C 标准。

如何参与 W3C 不同阶段的意见征集

以下内容摘自 W3C 中国。

在第一版工作草案(First Public Working Draft)阶段,欢迎您提交一般的建议,并鼓励您参与标准工作组。

在标准草案的最终征求意见稿 (Last Call Working Draft)阶段,工作组认为标准文本已经满足技术需求,并在其他相关标准工作组之间达成一致。

在征集参考实现(Call For Implementations)阶段,W3C认为标准文本已经接近稳定,希望产业界使用该标准开展参考实现,征集关于标准可实现性的经验和建议。

在提案推荐标准的征求意见(Call For Review of a Proposed Recommendation)阶段 ,W3C希望征求公众(特别是W3C会员)对标准文本一致性的最后意见。

3 WHATWG Web 超文本应用技术工作组

由于 W3C 开发更现代的 HTML 标准的速度缓慢,并且计划将 HTML 转换成一个名为 XHTML 的变体(具有类似 XML 的结构),浏览器厂商不赞同这种做法,所以,被称为 Web 超文本应用技术工作组(WHATWG)的组织于 2004 年成立。 [Source]

2019年,W3C 和 WHATWG 签署了一份谅解备忘录, W3C 成立新的 HTML 工作组,W3C 将继续发布 HTML 和 DOM 规范,WHATWG 定期提交一个稳定属性的审阅草案(review draft)给 W3C 作为 W3C HTML 和 DOM 规范的草稿,以保证 Web 标准的统一。

WHATWG 官网目前包含以下标准或者文档:

HTML

DOM

URL

Encoding

Storage

Streams

Console

Fetch

XMLHttpRequest

Notifications API

Fullscreen API

Infra

MIME Sniffing

Quirks Mode

4 Ecma International

Ecma International 协会制定了 ECMAScript(即 JavaScript 语言规范)和 JSON 格式的规范。

ECMA-262 ECMAScript® Language Specification

ECMA-402 ECMAScript® Internationalization API Specification

ECMA-404 The JSON Data Interchange Syntax

ECMA-414 ECMAScript® Specification Suite

关于 TC39 委员会的最新提案可以访问 https://tc39.es/ 或者 https://github.com/tc39 仓库。

除此以外,Ecma International 协会还参与制定 C# 和 Dart 语言的规范。

ECMA-334 C# Language Specification

ECMA-408 Dart Programming Language Specification

5 Khronos Group 科纳斯组织

虽然 SVG,Canvas 和 WebGL 经常被人们拿出来一起讨论,但 SVG 和 Canvas 包含在 HTML 规范中, 而 WebGL 则属于科纳斯组织(Khronos Group)制定发布的 WebGL 规范。

科纳斯组织(Khronos Group)制定了 WebGL、OpenGL ES 等规范。

WebGL 2.0

OpenGL ES 3.0

Typed Array Specification

其中,Typed Array Specification 类型数组规范已经成为 ECMAScript 2015 Specification 的一部分。

6 IEEE 电气和电子工程师协会

网上时常有人大呼小叫 JavaScript 中 0.1+0.2 !== 0.3,实际上这样的现象并非 JavaScript 独有,其他遵循 IEEE 754 标准的语言也有这个问题,这里的 IEEE 754 标准正是由 IEEE 制定。

IEEE 754 Standard for Floating-Point Arithmetic

IEEE 854 Standard for Radix-Independent Floating-Point Arithmetic

IEEE 802.11 WLAN

IEEE 1003.1 Portable Operating System Interface (POSIX)

7 ANSI 美国国家标准学会

ASCII、C、SQL等标准最初都是由美国国家标准学会(ANSI)进行标准化,后来再提交给其他国际标准化组织。

ANSI X3.4 7-Bit American National Standard Code For Information Interchange (7-Bit ASCII)

ANSI X3.30 Representation of Date for Information Interchange

ANSI X3.41 Code Extension Techniques for Use with 7 Bit Coded Character Set (ANSI control sequences)

ANSI X3.64 Additional Controls For Use With American National Standard Code for Information Interchange (ANSI escape sequences)

ANSI X3.135 Database Languages - SQL (ANSI SQL)

ANSI X3.159 Programming languages - C (ANSI C)

8 ISO/IEC

ISO/IEC 2022 Character code structure and extension techniques

ISO/IEC 6429 Control functions for coded character sets

ISO 8601 Date and time - Representations for information interchange

ISO/IEC 8859 8-bit single-byte coded graphic character sets (Latin 1)

ISO/IEC 9075 Database languages - SQL

ISO/IEC 9899 Programming languages - C

ISO/IEC 9945 Portable Operating System Interface (POSIX®)

ISO/IEC 10646 Universal Multiple-Octet Coded Character Set (UCS)

ISO/IEC 14882 Programming languages - C++

9 IETF 互联网工程任务组

万维网联盟(W3C)制定的是万维网(World Wide Web,WWW)标准,而互联网工程任务组(IETF)制定的则是互联网(Internet)标准。互联网所能提供的服务除了万维网以外,还包括电子邮件(E-mail)、文件传输(FTP)、远程登录(Telnet)、网络电话(VoIP)等。

IETF 的工作流程和 W3C 类似,见 RFC 2026 - The Internet Standards Process -- Revision 3,它的标准分为:

Proposed Standard 提案标准

Draft Standard 草案标准

Internet Standard 互联网标准

常见 RFC 标准

RFC 1738 - Uniform Resource Locators (URL)

RFC 1808 - Relative Uniform Resource Locators

RFC 4291 - IP Version 6 Addressing Architecture

RFC 5952 - A Recommendation for IPv6 Address Text Representation

RFC 2732 - Format for Literal IPv6 Addresses in URL's

RFC 3986 - Uniform Resource Identifier (URI): Generic Syntax

RFC 6874 - Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers

RFC 7320 - URI Design and Ownership

RFC 3339 - Date and Time on the Internet: Timestamps

RFC 791 - Internet Protocol

RFC 792 - Internet Control Message Protocol

RFC 793 - Transmission Control Protocol

RFC 20 - ASCII format for Network Interchange

RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels

RFC 6455 - The WebSocket Protocol

RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1

RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

RFC 5322 - Internet Message Format

RFC 1034 - Domain Names - Concepts and Facilities

RFC 1035 - Domain Names - Implementatio and Specification

🎯 相关推荐

$拼多多(PDD)$ 不知道为什么还有那么多把 PDD 的成功归功于消费降级,通缩什么的。流量效率高+低SKU高爆品带来...
cosplay软件有哪些?可以看cosplay的应用-cosplay社交应用
西湖醋鱼
365bet提款审核

西湖醋鱼

📅 06-27 👀 9200
精神传承!“金杯爷爷”儿子现身卡塔尔
365数字含义

精神传承!“金杯爷爷”儿子现身卡塔尔

📅 06-28 👀 6714
微商天下v10教程 天下薇商
365数字含义

微商天下v10教程 天下薇商

📅 06-27 👀 3016
cosplay软件有哪些?可以看cosplay的应用-cosplay社交应用
琼脂:天然食材的健康秘密与食用指南
365数字含义

琼脂:天然食材的健康秘密与食用指南

📅 06-27 👀 1741
油炸馃的做法与步骤
365bet提款审核

油炸馃的做法与步骤

📅 06-27 👀 340
南宁人常说的孟加拉鱼。。。
365数字含义

南宁人常说的孟加拉鱼。。。

📅 06-27 👀 3867