draft-ietf-conneg-content-features-00.txt   draft-ietf-conneg-content-features-01.txt 
IETF conneg working group Graham Klyne IETF conneg working group Graham Klyne
Internet draft 5GM/Content Technologies Internet draft 5GM/Content Technologies
Category: Work-in-progress 15 February 1999 Expires: October 1999
Expires: August 1999
Indicating media features for MIME content Indicating media features for MIME content
<draft-ietf-conneg-content-features-00.txt> <draft-ietf-conneg-content-features-01.txt>
Status of this memo Status of this memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. all provisions of Section 10 of RFC 2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 2, line 6 skipping to change at page 2, line 6
In "A syntax for describing media feature sets", an expression In "A syntax for describing media feature sets", an expression
format is presented for describing media feature capabilities using format is presented for describing media feature capabilities using
simple media feature tags. simple media feature tags.
This memo defines a MIME 'Content-features:' header that can be This memo defines a MIME 'Content-features:' header that can be
used to annotate a MIME message part using this expression format, used to annotate a MIME message part using this expression format,
and indicates some ways it might be used. and indicates some ways it might be used.
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
Table of contents Table of contents
1. Introduction ............................................2 1. Introduction ............................................2
1.1 Terminology and document conventions 3 1.1 Terminology and document conventions 3
2. Motivation and goals ....................................3 1.2 Discussion of this document 3
2. Motivation and goals ....................................4
3. The 'Content-features:' MIME header .....................4 3. The 'Content-features:' MIME header .....................4
3.1 Usage considerations 4 3.1 Usage considerations 4
3.1.1 Simple message parts 4 3.1.1 Simple message parts 4
3.1.2 Multipart and other composites 4 3.1.2 Multipart and other composites 5
3.1.3 Reference to external data 5 3.1.3 Reference to external data 5
4. Examples ................................................5 4. Examples ................................................5
4.1 Simple message 5 4.1 Simple message 5
4.2 Fax message 6 4.2 Fax message 6
4.3 Reference to external message data 6 4.3 Multipart/alternative data 7
4.4 Compressed data 6 4.4 Reference to external message data 7
5. Security considerations .................................7 4.5 Compressed data 8
6. Full copyright statement ................................7 4.6 Multipart/related data 8
7. Acknowledgements ........................................8 5. Security considerations .................................9
8. References ..............................................8 6. Full copyright statement ................................9
9. Author's address ........................................9 7. Acknowledgements ........................................10
Appendix A: Revision history ...............................9 8. References ..............................................10
9. Author's address ........................................11
Appendix A: Revision history ...............................11
1. Introduction 1. Introduction
In "A syntax for describing media feature sets" [1], an expression In "A syntax for describing media feature sets" [1], an expression
format is presented for describing media feature capabilities as a format is presented for describing media feature capabilities as a
combination of simple media feature tags, registered according to combination of simple media feature tags, registered according to
"Media Feature Tag Registration Procedure" [2]. This provides a "Media Feature Tag Registration Procedure" [2]. This provides a
format for message handling agents to describe the media feature format for message handling agents to describe the media feature
content of messages that they can handle. content of messages that they can handle.
skipping to change at page 3, line 6 skipping to change at page 3, line 6
expressions. This header provides a means to indicate media- expressions. This header provides a means to indicate media-
related features of message content that go beyond the MIME content related features of message content that go beyond the MIME content
type. type.
Along with the new MIME header definition, consideration is also Along with the new MIME header definition, consideration is also
given to how it may be used to present message media content given to how it may be used to present message media content
information that is problematic to express within the basic MIME information that is problematic to express within the basic MIME
framework. framework.
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
1.1 Terminology and document conventions 1.1 Terminology and document conventions
This section defines a number of terms and other document This section defines a number of terms and other document
conventions, which are used with specific meaning in this memo. conventions, which are used with specific meaning in this memo.
The terms are listed in alphabetical order.
media feature
information that indicates facilities assumed to be
available for the message content to be properly rendered
or otherwise presented. Media features are not intended
to include information that affects message transmission.
feature set feature set
some set of media features described by a media feature some set of media features described by a media feature
assertion, as described in "A syntax for describing media assertion, as described in "A syntax for describing media
feature sets" [1]. (See that memo for a more formal feature sets" [1]. (See that memo for a more formal
definition of this term.) definition of this term.)
feature set expression feature set expression
a string that describes some feature set, formulated a string that describes some feature set, formulated
according to the rules in "A syntax for describing media according to the rules in "A syntax for describing media
feature sets" [1] (and possibly extended by other feature sets" [1] (and possibly extended by other
specifications). specifications).
media feature
information that indicates facilities assumed to be
available for the message content to be properly rendered
or otherwise presented. Media features are not intended
to include information that affects message transmission.
This specification uses syntax notation and conventions described This specification uses syntax notation and conventions described
in RFC 2234 "Augmented BNF for Syntax Specifications: ABNF" [3]. in RFC 2234 "Augmented BNF for Syntax Specifications: ABNF" [3].
NOTE: Comments like this provide additional nonessential NOTE: Comments like this provide additional nonessential
information about the rationale behind this document. information about the rationale behind this document.
Such information is not needed for building a conformant Such information is not needed for building a conformant
implementation, but may help those who wish to understand implementation, but may help those who wish to understand
the design in greater depth. the design in greater depth.
1.2 Discussion of this document
Discussion of this document should take place on the content
negotiation and media feature registration mailing list hosted by
the Internet Mail Consortium (IMC):
Please send comments regarding this document to:
ietf-medfree@imc.org
To subscribe to this list, send a message with the body 'subscribe'
to "ietf-medfree-request@imc.org".
To see what has gone on before you subscribed, please see the
mailing list archive at:
http://www.imc.org/ietf-medfree/
Internet draft Indicating media features for MIME content
13 April 1999
2. Motivation and goals 2. Motivation and goals
It is envisaged that media feature labelling of message parts may It is envisaged that media feature labelling of message parts may
be used in the following ways: be used in the following ways:
o to supply more detailed media feature about a message content o to supply more detailed media feature information about a message
than can be provided by the 'Content-type:' header. content than can be provided by the 'Content-type:' header.
o to provide summary media feature information (possibly including o to provide summary media feature information (possibly including
MIME content types) about the content of a composite MIME message MIME content types) about the content of a composite MIME message
part (e.g. 'multipart' or 'message'), without having to open up part (e.g. 'multipart' or 'message'), without having to open up
the inner content of the message. the inner content of the message.
o to supply media feature information about external data o to supply media feature information about external data
referenced by a message part (e.g. 'message/external-body' MIME referenced by a message part (e.g. 'message/external-body' MIME
type). This information would not be available by examination of type). This information would not be available by examination of
the message content. the message content.
Internet draft Indicating media features for MIME content
15 February 1999
o to describe the content of a message that is encrypted or encoded o to describe the content of a message that is encrypted or encoded
using some application-specific file structure that hides the using some application-specific file structure that hides the
content from a MIME processor. This information also would not content from a MIME processor. This information also would not
be generally available by examination of the message content. be generally available by examination of the message content.
[[[I am assuming that a new feature tag will be registered to carry
MIME content-type information in a media feature expression]]].
3. The 'Content-features:' MIME header 3. The 'Content-features:' MIME header
A new header field is defined that extends the allowable formats A new header field is defined that extends the allowable formats
for 'optional-field' [4] with the following syntax: for 'optional-field' [4] with the following syntax:
optional-field =/ "Content-features" ":" Feature-expr optional-field =/ "Content-features" ":" Feature-expr
Feature-expr = filter ; See [1], section 4.1 Feature-expr = filter ; See [1], section 4.1
where 'filter' is the media feature expression format defined by "A where 'filter' is the media feature expression format defined by "A
syntax for describing media feature sets" [1]. syntax for describing media feature sets" [1].
skipping to change at page 4, line 39 skipping to change at page 4, line 54
corresponding MIME message part. corresponding MIME message part.
3.1 Usage considerations 3.1 Usage considerations
3.1.1 Simple message parts 3.1.1 Simple message parts
When applied to a simple MIME message part, the header should When applied to a simple MIME message part, the header should
appear just once and is used to convey additional information about appear just once and is used to convey additional information about
the message part content that goes beyond that provided by the MIME the message part content that goes beyond that provided by the MIME
'Content-type:' header field.The 'Content-features:' header may 'Content-type:' header field.The 'Content-features:' header may
suggest a content type that is different than that given by the indicate a content type that is different than that given by the
MIME 'Content-type:' header. This is possible but not recommended: MIME 'Content-type:' header. This is possible but not recommended:
In such cases, MIME content type processing must be performed in In such cases, MIME content type processing must be performed in
accordance with the MIME 'Content-type:' header. accordance with the MIME 'Content-type:' header.
Internet draft Indicating media features for MIME content
13 April 1999
NOTE: Once the message content has been delivered to an NOTE: Once the message content has been delivered to an
application, it is possible that subsequent processing application, it is possible that subsequent processing
may be affected by content type information indicated by may be affected by content type information indicated by
the media feature expression. the media feature expression.
3.1.2 Multipart and other composites 3.1.2 Multipart and other composites
'Content-features:' headers may be applied to a MIME multipart 'Content-features:' headers may be applied to a MIME multipart
indicating information about the inner content of the multipart. indicating information about the inner content of the multipart.
No one-to-one relationship between headers and contained body parts No one-to-one relationship between headers and contained body parts
is assumed. is assumed.
Internet draft Indicating media features for MIME content
15 February 1999
If it is important to relate specific media features to specific If it is important to relate specific media features to specific
MIME body parts, then the 'Content-features:' header should be MIME body parts, then the 'Content-features:' header should be
applied directly to the body part concerned, rather than the applied directly to the body part concerned, rather than the
surrounding composite. surrounding composite.
NOTE: The intent here is to allow summary media feature NOTE: The intent here is to allow summary media feature
information to be provided without having to open up and information to be provided without having to open up and
examine the inner content of the MIME message. examine the inner content of the MIME message.
Similar usage may apply when the message format is a non-MIME or Similar usage may apply when the message format is a non-MIME or
opaque composite; e.g. 'application/zip', or an encrypted message. opaque composite; e.g. 'application/zip', or an encrypted message.
In these cases, the option of examining the message content to In these cases, the option of examining the message content to
discover media feature information is not available. discover media feature information is not available.
3.1.3 Reference to external data 3.1.3 Reference to external data
Media feature information about data indirectly referenced by a Media feature information about data indirectly referenced by a
MIME body part rather than contained within message can be conveyed MIME body part rather than contained within message can be conveyed
using one or more 'Content-features:' headers. using one or more 'Content-features:' headers.
For example, media information --including MIME content type(s)-- For example, media information --including contained MIME content
about the data referenced by a MIME 'Message/external-body' may be type(s)-- about the data referenced by a MIME 'Message/external-
conveyed. body' may be conveyed.
4. Examples 4. Examples
4.1 Simple message 4.1 Simple message
Mime-Version: 1.0 Mime-Version: 1.0
Content-type: text/plain Content-type: text/plain
Content-features: Content-features: (& (paper-size=A4) (ua-media=stationery) )
(& (paper-size=A4)
(ua-media=stationery) )
: :
(data) (data)
: :
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
4.2 Fax message 4.2 Fax message
Mime-Version: 1.0 Mime-Version: 1.0
Content-type: multipart/fax-message;boundary=break Content-Type: multipart/fax-message; boundary="break"
Content-features: Content-features:
(& (Type=image/tiff) (& (Type="image/tiff")
(color=Binary) (color=Binary)
(image-file-structure=TIFF-S) (image-file-structure=TIFF-S)
(dpi=200) (dpi=200)
(dpi-xyratio=[200/100,200/200]) (dpi-xyratio=200/100)
(paper-size=A4) (paper-size=A4)
(image-coding=MH) (MRC-mode=0) (image-coding=MH) (MRC-mode=0)
(ua-media=stationery) ) (ua-media=stationery) )
--break --break
Content-Type: image/tiff; fax-coverpage=yes;name="coverpage.tiff" Content-Type: image/tiff; name="coverpage.tiff"
Content-Coverpage: yes
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Description: This part is a coverpage Content-Description: This part is a coverpage
Content-Disposition: attachment; filename="coverpage.tiff" Content-Disposition: attachment; filename="coverpage.tiff"
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAAB 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAA
AAAAAQAAAAAAAAAAEAAAZAAAAAEAAAD+////AAAAAAAAAAD///////////// AAAAAAAAEAAAZAAAAAEAAAD+////AAAAAAAAAAD////////////////////
: :
(more data) (more data)
: :
--break --break
Content-Type: image/tiff; name="document.tiff" Content-Type: image/tiff; name="document.tiff"
Content-Transfer-Encoding: base64 Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="document.tiff" Content-Disposition: attachment; filename="document.tiff"
AAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgA AAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABg
AAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAA GgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAA
: :
(more data) (more data)
: :
--break-- --break--
4.3 Reference to external message data Internet draft Indicating media features for MIME content
13 April 1999
[[[TODO]]] 4.3 Multipart/alternative data
4.4 Compressed data Mime-Version: 1.0
Content-Type: multipart/alternative; bounday="break"
Content-features: (Type="text/plain")
Content-features: (& (Type="text/html") (color=binary) )
Content-features: (& (Type="text/html") (color=limited) )
[[[TODO]]] --break
Content-type: (Type="text/plain")
:
(data)
:
--break
Content-type: text/html
Content-features: (color=binary)
:
(data)
:
--break
Content-type: text/html
Content-features: (color=limited)
:
(data)
:
--break--
4.4 Reference to external message data
Mime-Version: 1.0
Content-type: message/external-body; access-type=URL;
URL="http://www.foo.com/file1.html"
Content-type: Multipart/mixed
Content-features: (Type="text/plain")
Content-features: (& (Type="image/tiff") (color=limited) )
<end>
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
4.5 Compressed data
This example shows how the "Content-features" header can be used to
overcome the problem noted in the MIME registration for
"Application/zip" regarding information about the data content.
Mime-Version: 1.0
Content-type: application/zip
Content-features: (Type="text/plain")
Content-features: (& (Type="image/tiff") (color=limited) )
Content-transfer-encoding: base64
:
(data)
:
<end>
4.6 Multipart/related data
Mime-Version: 1.0
Content-Type: multipart/related; boundary="boundary-example";
type="text/html"; start="<foo3@foo1@bar.net>"
Content-features: (type="text/html")
Content-features: (type="image/gif")
--boundary-example
Content-Type: text/html;charset="US-ASCII"
Content-ID: <foo3@foo1@bar.net>
... text of the HTML document, which might contain a URI
referencing a resource in another body part, for example
through a statement such as:
<IMG SRC="http://www.ietf.cnri.reston.va.us/images/ietflogo.gif"
ALT="IETF logo">
--boundary-example
Content-Location:
http://www.ietf.cnri.reston.va.us/images/ietflogo.gif
Content-Type: IMAGE/GIF
Content-Transfer-Encoding: BASE64
R0lGODlhGAGgAPEAAP/////ZRaCgoAAAACH+PUNvcHlyaWdodCAoQykgMTk5
NSBJRVRGLiBVbmF1dGhvcml6ZWQgZHVwbGljYXRpb24gcHJvaGliaXRlZC4A
etc...
--boundary-example--
Internet draft Indicating media features for MIME content
13 April 1999
5. Security considerations 5. Security considerations
When applied to simple or multipart MIME formatted data, a media When applied to simple or multipart MIME formatted data, a media
feature expression provides summary information about the message feature expression provides summary information about the message
data, which in many cases can be determined by examination of the data, which in many cases can be determined by examination of the
message content. Under these circumstances, no additional security message content. Under these circumstances, no additional security
considerations appear to be raised. considerations appear to be raised.
When applied to other message composites, especially encrypted When applied to other message composites, especially encrypted
skipping to change at page 8, line 6 skipping to change at page 10, line 6
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on This document and the information contained herein is provided on
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
7. Acknowledgements 7. Acknowledgements
This proposal draws from discussions with Dan Wing. The fax This proposal draws from discussions with Dan Wing. The fax
message example was taken from a proposal by Mike Ruhl. message example was taken from a proposal by Mike Ruhl. The
multipart/related example is developed from RFC 2557.
The author would like to thank the following people who offered
comments that led to significant improvements: Mr Hiroshi Tamura,
Ted Hardie.
8. References 8. References
[1] "A syntax for describing media feature sets" [1] RFC 2533, "A syntax for describing media feature sets"
Graham Klyne, 5GM/Content Technologies Graham Klyne, 5GM/Content Technologies
Internet draft: <draft-ietf-conneg-feature-syntax-00.txt>" March 1999.
Work in progress, September 1998.
[2] "Media Feature Tag Registration Procedure" [2] RFC 2506, "Media Feature Tag Registration Procedure"
Koen Holtman, TUE Koen Holtman, TUE
Andrew Mutz, Hewlett-Packard Andrew Mutz, Hewlett-Packard
Ted Hardie, NASA Ted Hardie, NASA
Internet draft: <draft-ietf-conneg-feature-reg-03.txt> March 1999.
Work in progress, July 1998.
[3] RFC 2234, "Augmented BNF for Syntax Specifications: ABNF" [3] RFC 2234, "Augmented BNF for Syntax Specifications: ABNF"
D. Crocker (editor), Internet Mail Consortium D. Crocker (editor), Internet Mail Consortium
P. Overell, Demon Internet Ltd. P. Overell, Demon Internet Ltd.
November 1997. November 1997.
[4] RFC 822, "Standard for the format of ARPA Internet text messages" [4] RFC 822, "Standard for the format of ARPA Internet text messages"
D. Crocker, Department of Electrical Engineering, University of D. Crocker, Department of Electrical Engineering, University of
Delaware Delaware
August 1982. August 1982.
skipping to change at page 9, line 6 skipping to change at page 11, line 6
N. Borenstein, First Virtual N. Borenstein, First Virtual
November 1996. November 1996.
[6] RFC 2046, "Multipurpose Internet Mail Extensions (MIME) [6] RFC 2046, "Multipurpose Internet Mail Extensions (MIME)
Part 2: Media types" Part 2: Media types"
N. Freed, Innosoft N. Freed, Innosoft
N. Borenstein, First Virtual N. Borenstein, First Virtual
November 1996. November 1996.
Internet draft Indicating media features for MIME content Internet draft Indicating media features for MIME content
15 February 1999 13 April 1999
[7] RFC 2017, "Definition of the URL MIME External-Body Access-Type"
N. Freed, Innosoft
K. Moore, University of Tennessee
A. Cargille, WG Chair
October 1996
9. Author's address 9. Author's address
Graham Klyne Graham Klyne
5th Generation Messaging Ltd. Content Technologies Ltd. 5th Generation Messaging Ltd. Content Technologies Ltd.
5 Watlington Street Forum 1, Station Road 5 Watlington Street Forum 1, Station Road
Nettlebed Theale Nettlebed Theale
Henley-on-Thames, RG9 5AB Reading, RG7 4RA Henley-on-Thames, RG9 5AB Reading, RG7 4RA
United Kingdom United Kingdom. United Kingdom United Kingdom.
Telephone: +44 1491 641 641 +44 118 930 1300 Telephone: +44 1491 641 641 +44 118 930 1300
Facsimile: +44 1491 641 611 +44 118 930 1301 Facsimile: +44 1491 641 611 +44 118 930 1301
E-mail: GK@ACM.ORG E-mail: GK@ACM.ORG
Appendix A: Revision history Appendix A: Revision history
[[[RFC editor: please remove this section on publication]]]
00a 10-Feb-1999 Initial draft. 00a 10-Feb-1999 Initial draft.
TODO: 01a 16-Feb-1999 Added pointers to mailing list for discussion.
o Complete examples 01b 04-Mar-1999 Various editorial changes. Added placeholder for
multipart/related example.
01c 13-Apr-1999 Separated multipart/alternative and
message/external-body into separate examples.
Added example for compressed data. Added example
for multipart/related data. Updated references.
 End of changes. 40 change blocks. 
64 lines changed or deleted 177 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/