RFC:
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?
6
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.
- Some folk like to read a reference all the way through; it gives them a very solid understanding of what’s required.
- Others will skim through a standard and refer back to it when they run into problems that the RFC should address.
- 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.
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.
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 ietf.org 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.
1