ietf-822
[Top] [All Lists]

Re: Message Attributes

2004-12-16 22:38:38

On Dec 16 2004, Simon Josefsson wrote:

I'm not saying I think Annotations: is a good idea, though.  I think
it is better to use one header for each purpose, than to create a
generic purpose kitchen sink.


I disagree. Having a plethora of single purpose headers is certainly
possible, but for annotations which might be intended for non human 
readers, it's a bad idea.

The problem is that each new header somebody devises will in practice
have a new syntax, which leads to new specialized RFCs and specialized
code to decipher each supported header individually, for each piece of
software which might want to extract information from such a
header. Then over time as new informational headers are added, more
specialized parsers have to be written or updated, for each relevant
piece of software.

If the goal is to communicate information to possibly a piece of software,
then I believe a generic syntax for such headers would help greatly, if
this information is in fact to be conveyed in a header. 

Moreover, encoding information into headers has common practical
limitations such as character set issues (already dealt with in RFC 2047). A
common informational header format can deal with such practical issues once
and for all, whereas having a proliferation of headers forces each
author to reinvent encodings etc.

There is also the issue of actually ignoring uninteresting headers.
Consider a piece of software which obtains as input an RFC 2822 message.
It has two simple ways of dealing with headers. 

One is the "whitelist" approach, namely ignore all headers, but
parse those headers which the software can recognize.

The other approach is the "blacklist", namely read all headers except those
which it specifically refuses to read.

The "blacklist" approach to reading headers is hampered by a proliferation
of headers with arbitrary formats, while the "whitelist" approach is 
mostly unaffected. However, if informational headers destined for machine
reading do follow a common syntax, then the "blacklist" approach isn't as
strongly penalized.

-- 
Laird Breyer.