zoukankan      html  css  js  c++  java
  • RFC、EMCA-262、TC-39等名词

    请求意见稿英语: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 )

  • 相关阅读:
    PLSQL中使用二维存储结构---二维数组
    重启并发管理器
    Jackson优化使用实例
    Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
    Java泛型简明教程
    理解JSON:3分钟课程
    java 电子书下载地址
    JAVA开发中相对路径,绝对路径全面总结
    Java关键字synchronized详解
    52 个超实用网站
  • 原文地址:https://www.cnblogs.com/eret9616/p/10989834.html
Copyright © 2011-2022 走看看