RFC 2396 – Uniform Resource Identifiers (URI): Generic Syntax: Includes a BNF for URLs for us to see which characters are allowed within an URL and which need escaping, and how to detect the end of an URL. It also explains URL encoding.

RFC 2279 – UTF-8, a transformation format of ISO: More about UTF-8 and which bytes are allowed and which bytes are forbidden.

RFC 2070 – Internationalization of the Hypertext Markup Language: Talks about form submissions of non-ASCII characters. The encoding “application/x-www-form-urlencoded” used by OddMuse assumes that the submission consists of bytes, not characters (in fact it assumes that the encoding is the same as the one used on the wiki, since there is no conversion).

RFC 1866 – Hypertext Markup Language - 2.0: Explains application/x-www-form-urlencoded in terms of RFC 1738, which in turn is part of RFC 2396.

RFC 2616 – Hypertext Transfer Protocol – HTTP/1.1: Explains how to connect to a server using telnet and type your request manually, the headers relevant to caching, and the headers used to denote language preferences.

Apache Modeling Project – an introduction to the Apache HTTP Server, covering both an overview and implementation details.

RFC 2045 and RFC 2046 – Multipurpose Internet Mail Extensions (MIME) (Part One and Two): The basics of how MIME encoding works and how MIME types are specified. Including the requirement that the canonical form of any MIME “text” subtype must always represent a line break as a CRLF sequence. Similarly, any occurrence of CRLF in MIME “text” must represent a line break. Use of CR and LF outside of line break sequences is also forbidden. Currently Oddmuse doesn’t conform.

Date and Time Formats: has a short profile of ISO 8601, the International Standard for the representation of dates and times

CGI Security: Better Safe than Sorry – What type of potential CGI security problems exist? How do they arise? What can be the consequences of these problems? How, and to what extent, can these problems be eliminated?