请求意见稿(英语:Request For Comments,缩写:RFC)是一系列备忘录。

The RFC series

contains technical and organizational documents about the Internet, including the specifications and policy documents produced by four streams:

the Internet Engineering Task Force (IETF),

the Internet Research Task Force (IRTF),

the Internet Architecture Board (IAB),

and Independent Submissions.

RFC始于1969年,由当时就读加州大学洛杉矶分校(UCLA)的斯蒂芬·克罗克(Stephen D. Crocker)用来记录有关ARPANET开发的非正式文档,他是第一份RFC文档的撰写者。最终演变为用来记录互联网规范、协议、过程等的标准文件。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多的论题在标准内,例如对于互联网新开发的协议及发展中所有的记录。

常见互联网协议的RFC编号:

  • IP:791
  • TCP:793
  • UDP:768
  • ICMP:792
  • FTP:959
  • SOCK5:1928
  • CHAP:1994
  • SMTP:2821 5321
  • POP3:1957
  • NTP:1305
  • HTTP1.1:2616
  • IMAP:2060
  • PPP:1661-1663
  • DHCP:2131
  • OSPF:2328
  • IPSec:2401-2412
  • IPv6:2460
  • SIP:3261
  • RTP:3550
  • RADIUS:3575,3576,3579,3580
  • L2TP:3931

资料1 RFC定义:

https://en.wikipedia.org/wiki/Request_for_Comments

资料2 ietf的RFC文档:

https://tools.ietf.org/html/rfcxxxx

例如:https://tools.ietf.org/html/rfc793

资料3 RFC editor网址:

https://www.rfc-editor.org/

关于ECMA-262,stage与TC39:

ECMA是一个标准化组织

ECMA-262规范就是ECMAScript

ES2015: babeljs.io/docs/plugins/preset-es2015

ES2016: babeljs.io/docs/plugins/preset-res2016

ES2017: babeljs.io/docs/plugins/preset-res2017

Env:        babeljs.io/docs/plugins/preset-env

它们之间的关系:

stage0: babeljs.io/plugins/preset-stage-0

stage1: babeljs.io/plugins/preset-stage-1

stage2: babeljs.io/plugins/preset-stage-2

stage3: babeljs.io/plugins/preset-stage-3

他们之间的关系

TC(Technical Committees)

TG(Task Groups)

在ECMA国际,每个标准都会有一个 TC 来负责,而一个 TC 中可能会有不同的 TG 来负责不同的工作。

而负责 ECMA262,也就是我们所说的 ECMAScript 的就是 TC39(以前叫 TC39-TG1)。

Ecma organisation在这里我们可以看到各个 TC,并且可以查看其负责的标准。

ECMAScript 2015

接下来是一部重头戏。

2015年6月,ECMAScript 6,也就是 ECMAScript 2015 发布了。

新的规范中,带有大量 ECMAScript 4 中激进特性,以及常年的提案积累。所以 ECMAScript 6 里和前一版标准有了非常大的差别。

从 ECMAScript 6 开始,标准有了新的,更加规范化和快速的制定流程。面对着每年一次的,频繁的标准更替,再采用1234的版本号来标注规范显得不太合适。所以从 ECMAScript 6 开始,就开始采用年号来做版本。即 ECMAScript 2015。

新的规范制定流程

在新的规范制定流程中,要求成文标准要从事实标准中诞生,实现先于标准存在,大家可以在接下来的流程说明中看出来。

每个新特性,从开始到完成一共要经历5个阶段。

 
 

1.strawman (稻草人)阶段

任何人都可以提交pull request到GitHub - tc39/ecma262: Status, process, and documents for ECMA262

可以是一个提议,想法,初步描述

2.proposal(提案)阶段

TC39制定成员作为 champion

TC39审阅通过

有实现的 Demo 或者 Polyfill

初步描写标准的语义语法算法复杂度解决的问题等

3.Draft(草案)阶段

有两个或两个以上的实现(包括babel这类的转译实现)

使用正式的语言描述该语法,api等

4.candidate(候选)阶段

至少2个实现,可以为实验性实现

ECMAScript spec editor 通过审核

TC39 review 通过

文本编写完成

 

5.Finished(完成)阶段

编写 test 262 测试用例

通过两个实现该特性的内核测试

ECMAScript spec editor 通过审核

开发者表示支持和认可

接下来,在每年的3月和9月,都会提交新特性的申请,在 ECMA General Assembly 通过以后,被添加到标准中去。

值得注意的是,TC39 每年的工作日程也是规划好了的。

每年的3月,TC39 会召开会议,将完成的特性添加到标准中。

每年的4月到6月,会由 ECMA CC 和 ECMA CG 来做 Review。

每年的7月,批准通过新标准并且发布。所以,ECMAScript 2016 标准,其实也已经正式发布了,虽然只新增了两个特性。我们现在已经可以开始看 ECMAScript 2017 的草案了。

 
 

迷茫的新特性

对于有些人来说,前端的更新总是很突兀,很让人迷茫。

但是其实不是的。变化总是一点一点发生的。

GitHub - tc39/proposals: Tracking ECMAScript Proposals

我们可以在 TC39 的 Github 仓库中找到完成了,废弃的,以及正在进行中的提案。

多去关注这些东西,对于很多新事物的到来,我们也就不会有多惊讶了。

别的 ECMA 标准?

和 ECMAScript 有关的标准只有 ECMA262 吗?

其实不是。和 ECMAScript 有关的标准有 ECMA262,ECMA290,ECMA327,ECMA357,ECMA402,ECMA404,ECMA414等等。

其中290,327,357等等没有推广开来,被废弃。

ECMA 262 是语言规范本身。

ECMA 402 则是制定一些基于 ECMAScript 5 或者之后版本的一些国际化 API 标准。

ECMA 404 是 JSON 规范。

ECMA 414 则规定了哪些规范是和 ECMAScript 有关的。目前内部就包含了 262,402和404。

 
 
 

资料: https://www.jianshu.com/p/2e58f0b9ee99

注意,HTML规范是w3c确定的  https://www.w3.org/ (World Wide Web Consortium )

RFC、EMCA-262、TC-39等名词的更多相关文章

  1. JAVA提取字符串中所有的URL链接,并加上a标签

    工具类 Patterns.java 1 package com.util; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.P ...

  2. JavaScript的一点简介(注:本文诸多观点源于JavaScript高级程序设计,如有侵权,立即删除)

    JavaScript是一门最易让人误解的语言,该语言中精华与糟粕并存(可能比一般语言的这个比例要大一些):但“千淘万漉虽辛苦,吹尽黄沙始到金”,层层面纱下是易用灵活.优雅轻灵的内在.很久以前,Java ...

  3. mahout安装和测试

    Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发者更加方便快捷地创建智能应用程序.Apac ...

  4. GP中Geoprocessor.Execute(string name, IVariantArray parameters, ITrackCancel trackCancel)

    在做一个项目的过程中,发现GP运算方法 Execute(string name, IVariantArray parameters, ITrackCancel trackCancel) 与Execut ...

  5. Sql常用语法以及名词解释

    Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...

  6. 转载:谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词

    转载: 谈谈Unicode编码,简要解释UCS.UTF.BMP.BOM等名词 这是一篇程序员写给程序员的趣味读物.所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级 ...

  7. Linux TC流量控制HOWTO中文版

    <本文摘自Linux的高级路由和流量控制HOWTO中文版 第9章节>网人郭工进行再次编译: 利用队列,我们可以控制数据发送的方式.记住我们只能对发送数据进行控制(或称为整形).其实,我们无 ...

  8. Windows Azure 名词定义(Glossary)

    Glossary(名词) Definition(定义) Availability Set 可用性组 refers to two or more Virtual Machines deployed ac ...

  9. TC Hash Filter

    Overview The u32 filter allows you to match on any bit field within a packet, so it is in some ways ...

随机推荐

  1. asp,net 传值方式 优缺点比较

    .net C#中页面之间传值传参的六种方法 1.QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用 ...

  2. 原生js实现深度克隆

    总体思路: 判断对象当中的值为引用值还是原始值 如果是引用值,判断是数组还是对象,如果是原始值直接copy 递归 注意:不要忘了排除null,因为typeof null = 'object' func ...

  3. 45. Jump Game II (JAVA)

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  4. 16.Linux-CentOS系统进入单用户模式修改root用户密码操作

    问题描述: root用户密码忘记,进入单用户重置root用户密码 解决步骤: 1.重启服务器,在系统显示内核版本界面后“按E键”,进入内核启动项2.找到Linux16这一行段,将“ro”修改成“rw” ...

  5. Zabbix--06主动模式和被动模式、低级自动发现、性能优化、

    目录 一. Zabbix主动模式和被动模式 1.克隆模版 2.修改克隆后的模版为主动模式 3.修改监控主机关联的模版为主动模式 4.修改客户端配置文件并重启 5.查看最新数据 二.Zabbix低级自动 ...

  6. Codeforces 954 dijsktra 离散化矩阵快速幂DP 前缀和二分check

    A B C D 给你一个联通图 给定S,T 要求你加一条边使得ST的最短距离不会减少 问你有多少种方法 因为N<=1000 所以N^2枚举边数 迪杰斯特拉两次 求出Sdis 和 Tdis 如果d ...

  7. [效率神技]Intellij 的快捷键和效率技巧|系列一|常用快捷键

    Intellij 是个功能强大的IDE,这里只讲window下社区版的Intellij. 1. 常用快捷: Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ct ...

  8. 前端每日实战:126# 视频演示如何用纯 CSS 创作小球变矩形背景的按钮悬停效果

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/yxbEzJ 可交互视频 此视频是可 ...

  9. RAC heartbeat 心跳机制

    世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...

  10. 使用VisualStudio 开发Arduino

    Arduino IDE界面简洁,整体功能还算完善,相比其他编译器明显的不足就是不能进行硬件调试,再就是没有代码提示功能,文件关系不清晰.头文件打开不方便. VisualStudio作为时下最为流行的W ...