RFCs, or Request for Comments, are publications from the technology community. In several blog posts, I mention “this technology is defined in RFC xxxx” or “see RFC yyyy for the nitty-gritty details.” But what exactly is an RFC?
An RFC stands for Request for Comments. While the term RFC can be used in various contexts, traditionally in the world of the Internet, it refers to a publication written by engineers and computer scientists for other professionals working within the Internet sphere.
These RFCs have a long history, dating back to 1969 during the ARPANET era. The Internet itself was built upon these RFCs, which served as the starting point for discussions and protocol implementation details used to develop actual software.
Originally, RFCs were circulated in printed form and encouraged community discussions around the papers. Today, RFCs go through a series of steps managed by the Internet Engineering Task Force (IETF) before they are officially added. This process can take months or even years of discussions due to the fact that once published, an RFC cannot be changed.
When revisions to RFC documents are necessary, they must be published as independent RFCs, and older RFCs are marked as superseded by the newer revisions. Some RFCs supplement or clarify what older RFCs specify.
For example, RFC 1349 from 1992, titled “Type of Service in the Internet Protocol Suite,” was obsoleted by RFC 2474 in 1998, titled “Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers.”
Here are some well-known RFC documents that are highly recommended for reading. These documents will remain relevant for a long time and are the foundation of the Internet. Some individuals even printed them years ago and still have copies today:
- RFC 791: IP
- RFC 793: TCP
- RFC 1034: DNS
- RFC 4291: IPv6
- RFC 6749: OAuth 2.0
While many RFCs are technical in nature, there are also some that are less technical, such as RFC 1855, which provides Netiquette Guidelines, and others that are simply funny jokes created by engineers for engineers, like the Hyper Text Coffee Pot Control Protocol (RFC 2324).
In summary, RFCs are technical documents that undergo a rigorous process of discussion and technical verification before being added to the list of official protocols recognized by the IETF. Once they become standards, they can be implemented by software vendors.