<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc='yes' ?>
<?rfc symrefs='yes' ?>
<?rfc sortrefs='no'?>
<?rfc linkmailto='no'?>
<?rfc compact='yes'?>
<?rfc subcompact='no'?>
<?rfc comments='yes'?>
<?rfc inline='yes'?>
<?rfc-ext parse-xml-in-artwork='yes' ?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<rfc ipr='trust200902' docName='draft-hansen-media-type-suffix-regs-02' category='std'>
  <front>
    <title abbrev='Additional Media Type Suffixes'>Additional Media Type Structured Syntax Suffixes</title>
    <author initials='T.' surname='Hansen' fullname='Tony Hansen'>
      <organization>AT&amp;T Laboratories</organization>
      <address>
        <postal>
          <street>200 Laurel Ave. South</street>
          <city>Middletown</city>
          <region>NJ</region>
          <code>07748</code>
          <country>USA</country>
        </postal>
        <email>tony+sss@maillennium.att.com</email>
      </address>
    </author>
    <date />
    <area>Applications</area>
    <abstract>
      <t>
	This document defines several Structured Syntax Suffixes for use with media type registrations.
	In particular, it defines and registers the "+json", "+ber", "+der", "+fastinfoset", "+wbxml"
	and "+zip" Structured Syntax Suffixes.
      </t>
    </abstract>
  </front>
  <middle>
    <section title='Introduction'>
      <t>
	<xref target='RFC3023'/> created the +xml suffix convention that may be used by media types
	whose representation uses XML underneath, that is, they could have been successfully
	parsed as if the media type had been application/xml in addition to their being parsed
	as their media type that is using the +xml suffix.
	<xref target='I-D.ietf-appsawg-media-type-regs'/> defines a registry to be used
	for future Structured Syntax Suffixes.
      </t>
      <t>
	A variety of Structured Syntax Suffixes have already been used in some Media Type registration,
	in particular "+json", "+der", "+fastinfoset" and "+wbxml".
	This document defines and registers these Structured Syntax Suffixes in the
	Structured Syntax Suffix registry, along with "+ber" and "+zip".
	<!--
	    <a>dssc+der</a>
	    
	    <a href="/assignments/media-types/application/soap+fastinfoset">soap+fastinfoset</a>
	    
	    <a href="/assignments/media-types/application/vnd.collection+json">vnd.collection+json</a>
	    <a href="/assignments/media-types/application/vnd.hal+json">vnd.hal+json</a>
	    <a href="/assignments/media-types/application/vnd.oftn.l10n+json">vnd.oftn.l10n+json</a>
	    
	    <a href="/assignments/media-types/application/vnd.nokia.conml+wbxml">vnd.nokia.conml+wbxml</a>
	    <a href="/assignments/media-types/application/vnd.nokia.landmark+wbxml">vnd.nokia.landmark+wbxml</a>
	    <a href="/assignments/media-types/application/vnd.nokia.pcd+wbxml">vnd.nokia.pcd+wbxml</a>
	    <a href="/assignments/media-types/application/vnd.syncml.dm+wbxml">vnd.syncml.dm+wbxml</a>
	    <a href="/assignments/media-types/application/vnd.wv.csp+wbxml">vnd.wv.csp+wbxml</a>
	    
	    -->
      </t>
      <t>
	Discussion of this document should occur in the Apps Area Working Group (apps-discuss@ietf.org).
	[RFC Editor note: remove this paragraph.]
      </t>
    </section>
    <section title='When to Use these Structured Syntax Suffixes'>
      <t>
	Each of the Structured Syntax Suffixes defined in this document are appropriate for
	use when the media type identifies the semantics of the protocol payload. That is,
	knowing the semantics of the specific media type provides for more specific processing
	of the content than that afforded by generic processing of the underlying representation.
      </t>
      <t>
	At the same time, using the suffix provides receivers of the media types to do generic
	processing of the underlying representation in cases where 1) they do not need to handle
	specially the particular semantics of the exact media type, and, 2) there is no special
	knowledge needed by such a generic processor in order to parse that underlying representation
	other than what would be needed to parse any example of that underlying representation.
      </t>
    </section>

    <section title='The +json Structured Syntax Suffix' anchor='json'>
      <t>
	<xref target='RFC4627'/> defines the "application/json" media type.
	The suffix "+json" may be used with any media type whose representation follows that established
	for "application/json".
	The Message Type Structured Syntax Suffix registration form follows:
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    JavaScript Object Notation (JSON)
	  </t>
	  <t hangText='+suffix'>
	    +json
	  </t>
	  <t hangText='References'>
	    <xref target='RFC4627'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    Per <xref target='RFC4627'/>, JSON may be represented using UTF-8, UTF-16, or UTF-32.
	    When JSON is written in UTF-8, JSON is 8bit compatible.
	    When JSON is written in UTF-16 or UTF-32, JSON is binary.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    See <xref target='RFC4627'/>
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
    </section>

    <section title='The +ber and +der Structured Syntax Suffixes' anchor='ber-der'>
      <t>
	The ITU defined the Basic Encoding Rules (BER) and Distinguished Encoding Rules (DER)
	message transfer syntaxes in <xref target='ITU.X690.2008'/>.
	The suffix "+ber" may be used with any media type
	whose representation follows the BER message transfer syntax.
	The suffix "+der" may be used with any media type
	whose representation follows the DER message transfer syntax.
	The Message Type Structured Syntax Suffix registration forms follows:
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    Basic Encoding Rules (BER) message transfer syntax
	  </t>
	  <t hangText='+suffix'>
	    +ber
	  </t>
	  <t hangText='References'>
	    <xref target='ITU.X690.2008'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    BER is a binary encoding.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    There are no security considerations inherent in BER.
	    Each individual media type registered with a +ber suffix may have additional security considerations.
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
      <t>
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    Distinguished Encoding Rules (DER) message transfer syntax
	  </t>
	  <t hangText='+suffix'>
	    +der
	  </t>
	  <t hangText='References'>
	    <xref target='ITU.X690.2008'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    DER is a binary encoding.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    There are no security considerations inherent in DER. Each individual media type
	    registered with a +der suffix may have additional security considerations.
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
    </section>

    <section title='The +fastinfoset Structured Syntax Suffix' anchor='fastinfoset'>
      <t>
	The ITU defined the Fast Infoset document format as a binary representation of the XML Information Set in
	<xref target='ITU.X891.2005'/>.
	These documents further define the "application/fastinfoset" media type.
	The suffix "+fastinfoset" may be used with any media type whose representation
	follows that established for "application/fastinfoset".
	The Message Type Structured Syntax Suffix registration form follows:
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    Fast Infoset document format
	  </t>
	  <t hangText='+suffix'>
	    +fastinfoset
	  </t>
	  <t hangText='References'>
	    <xref target='ITU.X891.2005'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    Fast Infoset is a binary encoding. The binary, quoted-printable and base64 content-transfer-encodings
	    are suitable for use with Fast Infoset.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    There are no security considerations inherent in Fast Infoset. Each individual media type
	    registered with a +fastinfoset suffix may have additional security considerations.
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
    </section>

    <section title='The +wbxml Structured Syntax Suffix' anchor='wbxml'>
      <t>
	The WAP Forum has defined the WAP Binary XML (WBXML) document format
	as a binary representation of XML in <xref target='WBXML'/>.
	This document further defines the "application/vnd.wap.wbxml" media type.
	The suffix "+wbxml" may be used with any media type whose representation
	follows that established for "application/vnd.wap.wbxml".
	The Message Type Structured Syntax Suffix registration form follows:
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    WAP Binary XML (WBXML) document format
	  </t>
	  <t hangText='+suffix'>
	    +wbxml
	  </t>
	  <t hangText='References'>
	    <xref target='WBXML'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    WBXML is a binary encoding.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    There are no security considerations inherent in WBXML.
	    Each individual media type registered with a +wbxml suffix may have additional security considerations.
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
    </section>

    <section title='The +zip Structured Syntax Suffix' anchor='zip'>
      <t>
	The ZIP format is a public domain, cross-platform, interoperable file storage and transfer format, originally defined
	by PKWARE, Inc.;
	it supports compression and encryption and is used as the underlying representation by a variety of file formats.
	The media type "application/zip" has been registered for such files.
	The suffix "+zip" may be used with any media type whose representation follows that established for "application/zip".
	The Message Type Structured Syntax Suffix registration form follows:
	<list style='hanging' hangIndent='20'>
	  <t hangText='Name'>
	    ZIP file storage and transfer format
	  </t>
	  <t hangText='+suffix'>
	    +zip
	  </t>
	  <t hangText='References'>
	    <xref target='ZIP'/>
	  </t>
	  <t hangText='Encoding considerations'>
	    ZIP is a binary encoding.
	  </t>
	  <t hangText='Interoperability considerations'>
	    n/a
	  </t>
	  <t hangText='Security considerations'>
	    ZIP files support two forms of encryption: Strong Encryption and AES 128-bit, 192-bit and 256-bit encryption;
	    see the specification for further details.
	    Each individual media type registered with a +zip suffix may have additional security considerations.
	  </t>
	  <t hangText='Contact'>
	    Apps Area Working Group (apps-discuss@ietf.org)
	  </t>
	  <t hangText='Author/Change controller'>
	    The Apps Area Working Group has change control over this registration.
	  </t>
	</list>
      </t>
    </section>

    <section title='IANA Considerations'>
      <t>
	See the Message Type Structured Syntax Suffix registration forms in <xref target='json'/> - <xref target='zip'/>.
      </t>
    </section>

    <section title='Security Considerations'>
      <t>
	See the Security considerations sections found in the Message Type Structured Syntax 
	Suffix registration forms from <xref target='json'/> - <xref target='wbxml'/>.
      </t>
    </section>
  </middle>

  <back>
    <references title='Normative References'>
      <?rfc include='reference.RFC.4627' ?>
      <reference anchor="ITU.X690.2008">
	<front>
	  <title>Recommendation ITU-T X.690 | ISO/IEC 8825-1 (2008), ASN.1 encoding rules:
	    Specification of basic encoding Rules (BER), Canonical encoding rules (CER) and
	    Distinguished encoding rules (DER)</title>
	  <author>
	    <organization>International Telecommunications Union</organization>
	  </author>
	  <date month="November" year="2008" />
	</front>
	<seriesInfo name="ITU-T" value="Recommendation X.690" />
	<!-- http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf -->
      </reference>
      
      <reference anchor="ITU.X891.2005">
	<front>
	  <title>Recommendation ITU-T X.891 | ISO/IEC 24824-1 (2007), Generic applications of ASN.1: Fast infoset</title>
	  <author>
	    <organization>International Telecommunications Union</organization>
	  </author>
	  <date month="May" year="2005" />
	</front>
	<seriesInfo name="ITU-T" value="Recommendation X.891" />
	<!-- http://www.itu.int/rec/T-REC-X.891-200505-I/en -->
      </reference>
      
      <reference anchor="WBXML">
	<front>
	  <title>Binary XML Content Format Specification</title>
	  <author>
	    <organization>Open Mobile Alliance</organization>
	  </author>
	  <date month='July' year='2001'/>
	</front>
	<seriesInfo name='OMA' value='Wireless Access Protocol WAP-192-WBXML-20010725-a'/>
      </reference>
      
      <reference anchor="ZIP">
	<front>
	  <title>APPNOTE.TXT - .ZIP File Format Specification</title>
	  <author>
	    <organization>PKWARE, Inc.</organization>
	    <address>
	      <uri>http://www.pkware.com/documents/casestudies/APPNOTE.TXT</uri>
	      <!-- http://www.iana.org/assignments/media-types/application/zip -->
	    </address>
	  </author>
	  <date month='September' year='2007'/>
	</front>
	<seriesInfo name='PKWARE' value='.ZIP File Format Specification - Version 6.3.2'/>
      </reference>
    </references>

    <references title='Informative References'>
      <?rfc include='reference.RFC.3023' ?>
      <?rfc include='reference.I-D.ietf-appsawg-media-type-regs' ?>
    </references>
    <section title="Change History">
      <t>This section is to be removed before publication.
	<list style='hanging' hangIndent='20'>
	  <t hangText='-02'>
	    Added +zip.
	    <vspace/>
	    Fixed up the ISO document references.
	    <vspace/>
	    Minor changes.
	  </t>
	  <t hangText='-01'>
	    Added +ber.
	    <vspace/>
	    Minor changes.
	  </t>
	</list>
      </t>
    </section>
  </back>
</rfc>
