Request for Comments(リクエスト フォー コメンツ、略称:RFC)はインターネット技術、通信プロトコル、ファイルフォーマット、運用手順、研究成果、標準化プロセスなどを記録・公開する文書シリーズである。主に IETF、IAB、IRTF などにより発行される。RFC の一部はインターネット標準を構成するが、情報提供、実験、運用上の推奨事項、歴史的記録などを目的とする文書も多く、すべての RFC がインターネット標準であるわけではない。
RFCとは「コメント募集」を意味する英語の略語であり、初期のRFCは文字通り実際にコメントを求めるものであり、断定的な響きを避けて議論を促すために"Request for comments"という名前が付けられた。
RFCは基本的に英語で書かれており、公式の翻訳版は存在しない。
なお、IETF以外の組織・コミュニティにおいても、同様の目的の文書群をRFCと呼称する事例が存在する。
RFCというコンセプトは、1969年にARPANETプロジェクトにおいて生まれた。
初期のRFCはタイプライターで執筆され、高等研究計画局(略称ARPA、後にDARPAへ改名)の研究者にそれをコピーした紙が配布された。現在のRFCとは異なり、初期のRFCの多くは文字通り実際にコメントを求める非公式な作業文書であり、あまり形式ばらないスタイルで書かれていた。
RFC 1 は、カリフォルニア大学ロサンゼルス校(UCLA)のスティーブ・クロッカーが執筆し、1969年4月7日に発行された「ホスト・ソフトウェア」である。このRFCは、執筆したのはクロッカーであるが、クロッカーとスティーブ・カー、ジェフ・ルリフソンによる初期のワーキンググループでの議論により生まれたものである。
クロッカーが執筆した RFC 3 で「RFCとは何であるか」を初めて定義し、RFCはARPAのネットワーク・ワーキンググループに帰属するものとされた。ただし、これは正式な委員会ではなく、ARPANETプロジェクトに関心のある研究者のゆるやかな集まりであり、誰でも参加できた。
ARPANETが1969年12月に稼働し始めると、RFCの配布はARPANET上で行われるようになった。最初にネットワークで配布されたRFCはRFC 114であった。UCLAにはARPANETの最初のIMP(Interface Message Processor)の一つが置かれていたため、1970年代のRFCの多くもUCLAから発信された。ダグラス・エンゲルバートが所長を務めたスタンフォード研究所のオーグメンテイション研究センター(ARC)は、ARPANETの最初の4つのノードのうちの1つであり、初期のRFCもここから発信された。ARCには最初のNIC(のちのInterNIC)が置かれ、エリザベス・J・フェインラーが管理し、他のネットワーク情報とともにRFCを配布した。
1974年に発行されたRFC 675 でinter-networkingの略語としてはじめて「Internet」の語がつかわれた。
1977年頃、ARPANETプロジェクトとは別にInternetプロジェクトが発足した際に、ARPANETプロジェクトのRFCというコンセプトを模倣して、インターネット実験ノート(英: Internet Experiment Note、IEN)という類似の文書シリーズを発行することにした。またRFCのコンセプトを模倣した文書シリーズは IEN だけではなく、INWG Noteや、PRNET Notes、ARPA Satellite System Notes など多くプロジェクトでRFCを模倣した類似の文書シリーズが存在した。
これらのシリーズは完全に独立したものではなく、複数のプロジェクトに関係する文書は複数のシリーズでナンバリングをされているものも存在する。例えば前述のRFC 675は INWG 72 でもあり、またRFC 761は IEN 129 でもある。
1983年にARPANETはそれまでのNetwork Control Program(NCP)プロトコルを、Internetプロジェクトの成果物であるTCP/IPに移行した。それを機に、あるいはそれと前後して、これらの類似の文書シリーズはRFCに統合されていった。
1988年、IABにインターネットドラフト(英: Internet Draft)シリーズの作成が承認された。これにより最初期の「コメント募集」という位置づけと形式ばらないスタイルが、RFCとして承認される前段階であるインターネットドラフトに引き継がれた。
RFCの歴史については以下のRFCにまとめられている。
RFCの作成プロセスは、RFC 2026 "The Internet Standards Process, Revision 3" で定義されている(一部が RFC 6410により更新されている)。
これは、国際標準化機構(ISO)などの正式な標準化組織の標準化プロセスとは大きく異なる。インターネット技術の専門家は、外部機関のサポートなしにインターネットドラフトを提出することができる。標準化過程のRFCはIETFの承認を得て公開され、通常はIETFワーキンググループに参加している専門家によって作成され、最初にインターネットドラフトが公開される。このアプローチにより、文書がRFCとなる前に、最初のピアレビューラウンドが容易になる。
RFCのスタイルガイドは RFC 7322 で定義されている。また、RFCエディターのサイトでスタイルガイド関連資料が紹介されている。ほとんどのRFCでは一貫性を保ち理解しやすいように「MUST」や「NOT RECOMMENDED」などの共通の用語セット(RFC 2119およびRFC 8174を参照)、メタ言語としての拡張バッカスナウア記法(ABNF、RFC 5234を参照)、および単純なテキストベースのフォーマットを使用している。
初期のRFCは固定幅の整形済みテキスト形式で作成されていたが、2019年8月にRFC文書をさまざまな表示サイズのデバイスで最適に表示できるように、リフロー可能な形式に変更された。
RFC シリーズには、その文書の編集・発行・保存するための RFC エディター機能(英: RFC Editor function)が設けられている。
1969年から1998年までは、ジョン・ポステルがRFC編集者(英: RFC editor)を務めた。
ポステルの死後に、この役割は組織化され RFC エディター機能は単一の編集者を指すものではなく、RFC の発行方式を策定・承認する組織、RFC を編集・発行する組織、専門的助言を行う組織などから構成される。2026年時点の運用モデルはRFC 9920で規定されている。
RFCエディターはRFCを公開する際に一連の番号を割り当てる。一度番号が割り当てられ公開されたRFCは、取り消されたり変更されたりすることはない。誤字などの誤りがあった場合には、別途正誤情報(英: errata)が公開されることがある。
公開済のRFCに大きな修正が必要な場合は、新しいRFCとして改訂版を発行する。そのため、一部のRFCは他のRFCを置き換えることがある。他のRFCを置き換えたRFCは置き換え先のRFCを「置き換えた(英: obsolete)」と言い、置き換えられたRFCは置き換え元のRFCによって「置き換えられた(英: obsoleted by)」と言う。例えばRFC 5000はRFC 7100によって置き換えられた、RFCインデックスなどにはRFC 5000には Obsoleted-By RFC7100 と記載があり、RFC 7100には、Obsoletes RFC5000 という記載がある。
またRFC文書の全体を置き換えるのではなく、一部を上書きするケースもある。この場合には他のRFCを上書きしたRFCは上書き先のRFCを「上書きした(英: update)」と言い、上書きされたRFCは上書き元のRFCによって「上書きされた(英: updated by)」と言う。
すべての RFC がインターネット標準というわけではない。各RFCには標準化プロセスにおけるステータス(英: status)が定められている。ステータスは「標準化過程 (英: Standards Track)」、「情報 (英: Informational)」、「実験的 (英: Experimental)」、「現状で最良の慣行 (英: Best Current Practice)」、「歴史的 (英: Historic)」のいずれかである。
RFCシリーズには、2つのサブシリーズ(BCP、STD)が含まれており、また廃止された1つのサブシリーズ(FYI)がある。
RFCが各サブシリーズに割り当てられると、サブシリーズの番号が割り当てられる(例えば、STD 1 など)。サブシリーズの番号が割り当てられてもRFC番号は保持される。
サブシリーズを構成するRFCが置き換えられた場合でも、サブシリーズの番号は変わらずに新しいRFCを参照するようになる(参照先のRFCは1つの場合もあれば、複数のこともある)。例えば、2007年時点ではRFC 3700がインターネット標準 STD 1 であったが、その後RFC 5000に置き換えられたため、2008年5月時点の STD 1 はRFC 5000となった。さら2013年12月にRFC 7100で置き換えられ、STD 1 は使用されなくなった。
RFCの発行経路(英: RFC Stream)には、IETF、IRTF、IAB、独立提出(英: independent submission)、および編集方針(英: Editorial)の5パターンがある。
一般的なルールとしては、明示的に権利を譲渡しない限り、RFCの著者(または雇用条件にその旨が定められている場合は雇用主)が著作権を保持する。
独立機関であるIETFトラストが一部のRFCの著作権を保有しており、その他すべてのRFCについては著者からRFCの複製を許可するライセンスを付与されている。インターネットソサエティはRFC 4714以前の多くのRFCで著作権所有者として言及されているが、その権利をIETFトラストに譲渡した。
全てのRFCはインターネット上で公開されており、誰でも閲覧、取得することができる。
インターネット上では以下の2つのURIからRFCを取得できる(以下はRFC 1149の例)。
IETFは、RFCの公式提供URIは RFC エディターのサイト(www.rfc-editor.org ドメインのもの)であり、datatracker.ietf.org ドメインのものはその作業用リポジトリであるとしている。ただし、関連するインターネットドラフト等は datatracker.ietf.org にしかないため注意が必要である。
RFC エディターのサイトでは、RFC の本文の他に、ステータス(Status)、発行経路(Stream)、文書間の関連(Obsoletes/Obsoleted by、Updates/Updated by)、正誤情報(Errata)、STD番号、BCP番号などのメタ情報も確認できる。
最新のRFC一覧はRFCエディターのページに公開されているRFCインデックスで確認ができる。
RFCシリーズのISSN(国際標準逐次刊行物番号)は 2070-1721 である(RFC 5741参照)。
RFCシリーズのDOI(デジタルオブジェクト識別子)のディレクトリ識別子は 10.17487 である(RFC 7669参照)。例えばRFC 1149のDOIは10.17487/RFC1149であり、DOIディレクトリ経由でアクセスするURIは以下のようになる(%2Fは/のURLエンコードである)。
毎年、エイプリルフールにはユーモラスな内容のRFC、通称ジョークRFCが公開されることがある。
また、インターネットに多大な貢献があった人への追悼のRFCが公開されたこともある。