Genre Fluency Entry 2: RFCs: The Genre that Defines the Web

Overview

Requests for Comments, or more popularly RFCs, arguably form the most important genre on the World Wide Web. This genre also has the more dubious distinction of being the dullest and most boring of all web genres. RFCs are documents created by the designers of the Internet. They define exactly how different computers and systems interoperate. In essence, they specify how multiple computers can play nicely together in the giant sandbox that is the Internet.

Structure

All RFCs are numbered. The first is numbered RFC 1, and the most recent is numbered RFC 4234. The people (mostly engineers) that reference these often refer to the RFC number, rather than the actual name or title of the RFC.

The most striking thing to notice about RFCs is the format in which they are presented. RFCs are written in plain text. The first RFC was published in 1969, and the two technologies behind the World Wide Web, HTML and HTTP, didn't exist until 1991. Plain text means the documents have a monospace font that doesn't change size or formatting.

Most RFCs follow a specific form. They start off with a descriptive title. Next, there is a paragraph on the status of the memo. This typically describes why the RFC was written. An abstract and an optional table of contents generally follow the status. The rest of the document is broken up into sections. The headers are out to the left and the text is indented.

Writing Style

RFCs have a very formal writing style. This formality results from the need for precision. Ambiguity in the definition of how computers talk to each other can cause large problems. It can lead to differences in how they expect each other to behave. The computers might not be able to communicate at all, or they may send each other garbled data. To paraphrase the movie Cool Hand Luke, "I believe what we have here is a failure to communicate." Communication is the backbone of the World Wide Web. One of the most striking examples of the precision and formality of the language used in RFCs is RFC 2119, "Key words for use in RFCs to Indicate Requirement Levels." It was written to define key frequently used terms, such as MUST and SHOULD.

RFC Art

As RFCs were originally written in 1969, there was no standard format for images or diagrams. RFCs are written for engineers, and engineers love technical diagrams. RFCs frequently contain large amounts of what is today called ASCII-art. As background, ASCII refers to a method of encoding text as a sequence of numbers that is prevalent today in computing, so ASCII-art refers to pictures drawn with regular text characters.

    +
    | 3+---+                     N12      N14
  N1|--|RT1|\ 1                    \ N13 /
    |  +---+ \                     8\ |8/8
    +         \ ____                 \|/
               /    \   1+---+8    8+---+6
              *  N3  *---|RT4|------|RT5|--------+
               \____/    +---+      +---+        |
     +         /   |                  |7         |
     | 3+---+ /    |                  |          |
   N2|--|RT2|/1    |1                 |6         |
     |  +---+    +---+8            6+---+        |
     +           |RT3|--------------|RT6|        |
                 +---+              +---+        |
                   |2               Ia|7         |
                   |                  |          |
              +---------+             |          |
                  N4                  |          |
                                      |          |
                                      |          |
          N11                         |          |
      +---------+                     |          |
           |                          |          |    N12
           |3                         |          |6 2/
         +---+                        |        +---+/
         |RT9|                        |        |RT7|---N15
         +---+                        |        +---+ 9
           |1                   +     |          |1
          _|__                  |   Ib|5       __|_
         /    \      1+----+2   |  3+----+1   /    \
        *  N9  *------|RT11|----|---|RT10|---*  N6  *
         \____/       +----+    |   +----+    \____/
           |                    |                |
           |1                   +                |1
+--+   10+----+                N8              +---+
|H1|-----|RT12|                                |RT8|
+--+SLIP +----+                                +---+
           |2                                    |4
           |                                     |
      +---------+                            +--------+
          N10                                    N7

This example was taken from RFC 2328. It shows the structure of a sample network of computers.

Browsing RFCs

The RFCs are in the public domain and can be viewed on many different websites. However, the most popular of these is the RFC Editor website. The RFC Editor is named in honor of the position of the same name. He used to be John Postel, but the job is now handled by a small committee of people. An example search is shown below.

RFC Editor example search

A few RFCs are available in PostScript or PDF format, but most of them are only available as ASCII text. A screenshot of RFC 3986 follows.

RFC 3986 screenshot

RFC Humor

The engineers that write RFCs are not devoid of a sense of humor. Every April 1st, a few RFCs are published that poke fun at other Internet standards, instead of defining them. Here is a complete list of April Fools' RFCs. Possibly, the most famous of these, RFC 2795, describes a quality control system for an infinite number of monkeys typing at an infinite number of keyboards, a popular paradox.

Writing an RFC

Writing an RFC is generally something to avoid. However, if it is necessary to write one, the following tips may be helpful:

  • Be specific. RFCs are supposed to remove any form of ambiguity in the topic they are describing.
  • Read other related RFCs to get a feel for the style.
  • Adopt the structure of another RFC. Take one, remove all the content except section titles, and fill in the blanks.
  • Follow RFC RFC 2119. Most readers of RFCs expect the definitions of MUST, SHOULD, and MAY to remain consistent between RFCs.
  • Use diagrams. ASCII-art diagrams help to illustrate relationships between concepts and to help with the visualization of examples.
Web Genre Analysis
    Parody Site
Genre Fluency Entries
  RFCs
Group Projects
Other
Links