Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


Request for Comments (RFC) is a memorandum published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.

At the end of this Intro to REST video, RFC2616 and RFC3986 are mentioned as further reading. After watching the video, I googled those documents and, as the title suggests, I'm not sure how to use them. Do I read them in their entirety and make notes or do I use them more as a reference for when I don't understand something or have a problem?

share|improve this question

closed as unclear what you're asking by Snowman, durron597, MichaelT, GlenH7, Dan Pichelman May 15 '15 at 19:56

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.

Obiviously, there's a whole category of documents similar to RFCs. If someone with more knowledge about these things wants to edit my question to make it a bit more general, feel free to do it. – iCanLearn Dec 11 '12 at 11:18
You use them the same way you use any documentation. I don't really understand what you are asking here. – Oded Dec 11 '12 at 11:42
Well obviously I don't use a tutorial and a reference guide the same way. Tutorials may not be documentation, but forget "documentation" and think about "learning resources". – iCanLearn Dec 11 '12 at 11:50
Well, they are not tutorials. They are pretty much the standards. You read them to understand how what they describe work and if implementing, you use them as your reference. – Oded Dec 11 '12 at 12:17
Forget "learning resources", think about "documentation". That's what RFCs are. – TZHX Dec 11 '12 at 12:20
up vote 7 down vote accepted

As you state in your question, the RFCs are either de facto standards for internet operations or they provide additional guidance for those operations. Their appendix regarding RFCs does a better job at illuminating the various sources of RFCs and their overall meaning, including considerations of obsolescence.

Do I read them in their entirety and make notes or do I use them more as a reference for when I don't understand something or have a problem?

Treat them like you would treat any other standards reference.

  1. Some folk like to read a reference all the way through; it gives them a very solid understanding of what's required.
  2. Others will skim through a standard and refer back to it when they run into problems that the RFC should address.
  3. Others still will never peruse the contents of an RFC.

In general, I think they are much more useful as a reference than as explanatory text. But I fall into the second category of people that I described. On the other hand, if you're really wanting to understand the nuts and bolts of a particular technology then you may want to dive deeply into the standard. As with so many things, it depends upon what your aims are.

For what you're doing with the REST tutorial, option #2 is probably your best bet. Skim, glean something new, refer back as necessary.

share|improve this answer

It may depend on why and for what you read it. Actually you will find, that many programmers never ever read such documents at all. So lets handle the exception:

  • You are very curious and want to know everything about a certain technology. Then you simply read them and take notes as you want or find necessary. Or just read through them so you have a good idea what to find there (plus: can give really smart answers on StackOverflow and get lots of reputation)

  • You need to prepare for a test about it. (Handle as test preparation for everything else, take a lot of notes)

  • You need to implement a piece of software that depends on rigorous correct implementation of something (a web browser the URI handling, any compiler or interpreter for a given language). In this case you read very careful, take lots of notes and at the same time develop various test cases against which to run your program.

share|improve this answer

For one thing, make it easier on yourself.

Although this could perhaps be viewed as promotional spam, it's truly not meant that way:

If using Google's Chrome Browser to view RFCs, I can recommend installing the RFCRestyle Chrome Extension for no other reason than to make the work of reading them easier on the eyes and neck.

In all seriousness, I made the extension specifically because they are daunting documents, that like it or not, MUST be read by anyone wishing to work with the web. What better way to understand how to e.g. properly format an email, than to read the standards that shape the way the entire system works?

None that I know of.

It might not be fun or sexy, but these documents are expertly crafted, thorough examinations and revelations about every agreed procedure oiling the gears of the information age. And without trudging through them, one can only ever hope to have a layman's or (at least in some way) a corrupt understanding of the subject(s).

e.g. I built (and subsequently used) the extension after discovering Wikipedia's page about Email Addresses was less than accurate, and set about fixing it. Abundant eye strain and a lot of head scratching later, and the article was improved along with my knowledge of the subject. I had also discovered that RFCs are horrible to read without a little CSS magic.

My point?

Until I took the time to wade through the standards as defined in several RFCs, and did my best to relate that to the wiki, the readers of that wiki were provided quite severely inaccurate information;

it's only the official standards that can ultimately be relied on. Every other source of knowledge on these subjects is a corruption of the source (in some respect or other).

So, although not "the best fun EVAH!" - someone has to do it.

share|improve this answer
Tried the extension; looks good. Thank you. I'm not a big RFC reader and find them daunting but have skimmed some over the years. A thought on "it's only the official standards that can ultimately be relied on": I'd say only in theory, or if your aim is implementing a protocol. But the web's short history is filled with instances of existing (popular) implementations that that failed to comply with standards. See: The Problem. – nc01 Feb 28 at 12:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.