Neil Katin writes...
John, I thought that this was old territory, and that a gateway
didn't (and shouldn't) need to look at the type field to encode a
body part. Instead, there are five possible states for transport
encoding: 8bit (text), 7bit (text), binary, base64, and
quoted-printable.
This should provide all the necessary information that a gateway
would need to know about a body part; there is no reason why a
gateway needs to look at the type (except for multipart...).
Well, it may be that "except for multipart" covers the entire problem
and my comments don't apply elsewhere. But I don't think that is the
case. And it may also be that I am completely and utterly confused
about all of this, which is likely.
But, if I understand what is going on, there are two possible models of
what a gateway could, in principle, do:
Model B (for "bad news"): Not look at the body parts, or the type, and
encapsulate the message, possibly after extracting some subset of the
headers. This is the case that leads to nested encodings,
uninterpretable messages, etc.
Model M (for "mucking around in the message"): Gateway examines body
parts, looks at types *and* transport encodings, encodes whatever needs
to be encoded on a one-part-at-a-time basis...
I feel that we should encourage a large set of descriptive type/subtype
names, that map all the way down describe a body part well enough to
match it to a application that can show the part to the user.
Unless the number of types is extremely static, it will be an operational
nightmare to add new parts if you have to upgrade gateways first...
Again, if I understand the theory, the nightmare-avoidance theory is
precisely to have a small number of extremely static types that
(possibly in combination with other information) provide all of the
information that gateways, MTAs, and UAs that are not interested in
active handling all of the possible types and subtypes need. And, to
let 1000 flowers (or perhaps a few more) bloom in the subtypes and
qualifiers and quantifiers attached to them.
If I'm completely befuddled here, I'd appreciate it if somone would take
the time to explain what is being discussed to both Neil and myself.
--john