- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 17 Dec 2003 10:05:49 -0500
- To: Graham Klyne <GK@ninebynine.org>
- Cc: Anish Karmarkar <Anish.Karmarkar@oracle.com>, xml-dist-app@w3.org
Graham Klyne writes:
> I was going to make a similar comment... some MIME
> headers, when present, must be analyzed to properly
> interpret the MIME structure. Noah's comment seemed to
> focus on headers that were used for other purposes.
Good points. I was probably being too conservative in my statements for
at least two reasons:
* Being a real novice in the subtleties of MIME, I didn't
want to get into details where I'd add more confusion
than insight.
* To some degree we're talking about particular headers
that would be used in particular ways by Miffy. There
is indeed ongoing debate about using some such as
Content-Encoding, but I didnt' feel that my mandate
here was to lock down policy on specific headers,
except for Content-length which was specifically
discussed at the face-2-face mtg.
So, here's what I think may have been missing from my note. We can't lock
down proposed text until we've debated the role of specific headers, so
I'll just refer to headers XXXX and YYYY as placeholders for ones the
Miffy would specifically use. Content-encoding might or might not emerge
as one of those.
<yesterdaysProposal>
MIFFY Documents MUST be valid MIME Multipart/Related documents, as
specified by [rfc2387]. Ordering of MIME parts MUST NOT be considered
significant to MIFFY processing or to the construction of the Target
Infoset.
The root MIME part MUST be an XML 1.0 serialization [xml1.0] of the
Optimized Infoset, and MUST be identified with the [ TBD ] media type.
MIME parts including the root part MAY contain MIME headers as permitted
by rfc 2387. Interpretation of Miffy documents to reconstruct an XML
Infoset (see section 3.2) MUST NOT depend on the presence of such optional
headers.
For example: one or more parts in a Miffy document may contain a
Content-Length header as specified by RFC 2616. If present, the value of
the Content-Length may be used by an interpreter to optimize buffer
management during reconstruction of the Infoset. An interpreter should
not decline to reconstruct an Infoset due to lack of a Content-Length
header.
</yesterdaysProposal>
<newProposal>
MIFFY Documents MUST be valid MIME Multipart/Related documents, as
specified by [rfc2387]. Ordering of MIME parts MUST NOT be considered
significant to MIFFY processing or to the construction of the Target
Infoset.
The root MIME part MUST be an XML 1.0 serialization [xml1.0] of the
Optimized Infoset, and MUST be identified with the [ TBD ] media type.
MIME parts including the root part MUST contain header XXXX and YYYY and
MAY contain MIME headers as permitted by rfc 2387, including those defined
by additional specifications such as RFC 2616. Interpretation of Miffy
documents to reconstruct an XML Infoset (see section 3.2) MUST/MAY
{depending whether the header is a hint like length or required for
interpretation like Content-Encoding) depend on the values of XXXX and
YYYY; interpretation MUST NOT depend on the presence of other optional
headers.
For example, Content-Length (RFC 2616) is such an optional header: one or
more parts in a Miffy document may contain a Content-Length header. If
present, the value of the Content-Length may be used by an interpreter to
optimize buffer management during reconstruction of the Infoset. An
interpreter should not decline to reconstruct an Infoset due to lack of a
Content-Length header.
</newProposal>
> (BTW, Content-length is not strictly a MIME header: it
> is defined by HTTP, IIRC.)
I think I noted in both my original and new text that it's defined in RFC
2616, BUT I think it's the MIME RFC (2045) that licenses the use of such
headers in general and Content-xxxx headers in particular. It says:
"9. Additional MIME Header Fields
Future documents may elect to define additional MIME header fields
for various purposes. Any new header field that further describes
the content of a message should begin with the string "Content-" to
allow such fields which appear in a message header to be
distinguished from ordinary RFC 822 message header fields.
MIME-extension-field := <Any RFC 822 header field which
begins with the string
"Content-">"
I'm not quick enough reading the RFC's to find it, but presumably there's
also text in either 2045 or 2387 that specifically licenses the use of
headers for parts. So, all of that is independent of RFC 2616, which is
why I said what I did. Content-length itself is indeed defined in RFC
2616.
Hope I haven't scrambled this analysis too much. As I say, it's not my
area (though I'm learning from this exercise.)
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
Received on Wednesday, 17 December 2003 10:07:45 UTC