Requests For Comment(RFC)介绍
2018-03-26 本文已影响12人
keith666
前言
在开发时难免会遇到各种协议,HTTP,TCP,UDP什么鬼的,然后你会好奇吧?(如果你不熟的话),好奇就会去查资料吧?查资料应该会查到RFC这个关键字吧?OK我猜我的假设都是成立的,那应该会有一些疑问:
- RFC是什么呢?
- RFC和Internet标准(STD)又是什么关系呢?
RFC介绍
RFC是Requests For Comment的缩写,是由IETF发布的一系列备忘录. 文件收集了有关Internet相关信息,以及UNIX和Internet社区的软件文件,以编号排定. 目前RFC文件是由Internet协会(ISOC)赞助发行.
如下HTTP/1.1
协议:
RFC文件的产生
RFC文件发布后会有一个编号,文件一但发布后就不能撤销和修改. 如果需要修改则需要提交一个新的RFC文件(修改版本),如果新的不兼容旧的则旧的文件就可以通过标识如deprecated,obsolete,or obsoleted by the xxxx RFC来表示旧的文件失效了. 这样不断的修订会形成一个演变历史.
ob.pngRFC文件的分类
- BCP: 当前最优的实践方案.
- FYI: 一些介绍性的文件.
- STD: 标准文件.
RFC文件状态
- Standards Track: 标准的RFC文件
- Experimental: 表示某些研究或开发的成果.
- Informational: 表示Internet社区的一些通用信息,不是Internet社区的共识.
- Historic: 表示过期的或失效的文件.
- Best Current Practice: 记录当前最优的实践方案,不是Internet标准文件。
RFC文件的演化
想要成为Internet标准的RFC文件需要经过标准演化过程,至于如何提交谁来评审本篇不谈,具体可以参考THE INTERNET STANDARDS PROCESS
标准的演化过程
该过程中的文件根据成熟程度(maturity levels)会被分为以下三种:
- Proposed Standard: 入门级,标准内容基本稳定,但是还欠缺成功的应用.
- Draft Standard: 已经有一些成功的应用后的级别.
- Internet Standard: 已经有一些重大的成功应用的级别.
非标准的演化过程
不是所有的RFC文件都计划成为Internet标准,所以就不用遵循标准的演化过程,于是就有了非标准的演化过程.同样也被分为以下三种:
- Experimental: 表示某些研究或开发的成果.
- Informational: 表示Internet社区的一些通用信息,不是Internet社区的共识.
- Historic: 表示过期的或失效的文件.
回答问题
1. RFC是什么呢?
RFC是Requests For Comment的缩写,是由IETF发布的一系列备忘录.
2. RFC和Internet标准(STD)又是什么关系呢?
RFC文件可以演化成Internet标准,但是不是所有的RFC文件都是Internet标准,也不是所有Internet标准都是由RFC演化出来的。
Note
- IETF: Internet Engineering Task Force,这是一个开放的标准组织,没有正式的会员,由自愿者进行参与和管理