RFC1154
Ned Freed, Postmaster <NED <at> hmcvax.claremont.edu>
1991-01-15 19:55:00 GMT
My big problem with RFC1154 is not in what headers it specifies or what
encodings it uses. Stuff like this is of less concern than the fundamental
approach that RFC1154 advocates to encapsulation; you can always fix the
lack of a particular piece of information by adding it later (and RFC822
certainly is extensible enough to allow such additions).
I think the major problem with RFC1154 is that it employs line counting as
a strategy for encapsulation. This is a terrible idea. The world is full
of mailers that do all kinds of things to message text, including all sorts
of different forms of line wrapping. The single most prevalent example of
widespread line wrapping is BITNET, where inherent format limitations often
force wrapping as the only means of converting messages to an acceptable
format (we're talking 80 columns here). There are countless other examples,
of course, including all those word processors out there that reformat
documents automatically and often without the user noticing.
Thus, I believe that if we start using line counting as a common strategy for
encapsulation, we're buying into a nightmare situation of obscure bugs,
processing problems, and trashed messages. We're also buying into the need
to write code that hunts around for shifting boundaries in messages. I for
one have better things to do with my development time!
The alternative to line counts to delimit bodyparts is the use of special
delimiters and character stuffing, aka RFC934. Now, I'm not especially
fond of the particular approach that RFC934 advocates. It also needs to
have some details tightened up insofar as bodypart-specific header lines
(mandatory or optional -- the seem to be mandatory, but the spec never comes
out and says so) are concerned. However, it does have the advantage of
current widespread use, several other RFCs depend on it (RFC987 is one), and
I know of no real technical problems with it. RFC934 tolerates line wrapping
(Continue reading)