<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en"><head><title>Web Categories</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Web Categories">
<meta name="keywords" content="http, category, header">
<meta name="generator" content="xml2rfc v1.34pre3 (http://xml.resource.org/)">
<style type='text/css'><!--
        body {
                font-family: verdana, charcoal, helvetica, arial, sans-serif;
                font-size: small; color: #000; background-color: #FFF;
                margin: 2em;
        }
        h1, h2, h3, h4, h5, h6 {
                font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
                font-weight: bold; font-style: normal;
        }
        h1 { color: #900; background-color: transparent; text-align: right; }
        h3 { color: #333; background-color: transparent; }

        td.RFCbug {
                font-size: x-small; text-decoration: none;
                width: 30px; height: 30px; padding-top: 2px;
                text-align: justify; vertical-align: middle;
                background-color: #000;
        }
        td.RFCbug span.RFC {
                font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
                font-weight: bold; color: #666;
        }
        td.RFCbug span.hotText {
                font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
                font-weight: normal; text-align: center; color: #FFF;
        }

        table.TOCbug { width: 30px; height: 15px; }
        td.TOCbug {
                text-align: center; width: 30px; height: 15px;
                color: #FFF; background-color: #900;
        }
        td.TOCbug a {
                font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
                font-weight: bold; font-size: x-small; text-decoration: none;
                color: #FFF; background-color: transparent;
        }

        td.header {
                font-family: arial, helvetica, sans-serif; font-size: x-small;
                vertical-align: top; width: 33%;
                color: #FFF; background-color: #666;
        }
        td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
        td.author-text { font-size: x-small; }

        /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
        a.info {
                /* This is the key. */
                position: relative;
                z-index: 24;
                text-decoration: none;
        }
        a.info:hover {
                z-index: 25;
                color: #FFF; background-color: #900;
        }
        a.info span { display: none; }
        a.info:hover span.info {
                /* The span will display just on :hover state. */
                display: block;
                position: absolute;
                font-size: smaller;
                top: 2em; left: -5em; width: 15em;
                padding: 2px; border: 1px solid #333;
                color: #900; background-color: #EEE;
                text-align: left;
        }

        a { font-weight: bold; }
        a:link    { color: #900; background-color: transparent; }
        a:visited { color: #633; background-color: transparent; }
        a:active  { color: #633; background-color: transparent; }

        p { margin-left: 2em; margin-right: 2em; }
        p.copyright { font-size: x-small; }
        p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
        table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
        td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }

        ol.text { margin-left: 2em; margin-right: 2em; }
        ul.text { margin-left: 2em; margin-right: 2em; }
        li      { margin-left: 3em; }

        /* RFC-2629 <spanx>s and <artwork>s. */
        em     { font-style: italic; }
        strong { font-weight: bold; }
        dfn    { font-weight: bold; font-style: normal; }
        cite   { font-weight: normal; font-style: normal; }
        tt     { color: #036; }
        tt, pre, pre dfn, pre em, pre cite, pre span {
                font-family: "Courier New", Courier, monospace; font-size: small;
        }
        pre {
                text-align: left; padding: 4px;
                color: #000; background-color: #CCC;
        }
        pre dfn  { color: #900; }
        pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
        pre .key { color: #33C; font-weight: bold; }
        pre .id  { color: #900; }
        pre .str { color: #000; background-color: #CFF; }
        pre .val { color: #066; }
        pre .rep { color: #909; }
        pre .oth { color: #000; background-color: #FCF; }
        pre .err { background-color: #FCC; }

        /* RFC-2629 <texttable>s. */
        table.all, table.full, table.headers, table.none {
                font-size: small; text-align: center; border-width: 2px;
                vertical-align: top; border-collapse: collapse;
        }
        table.all, table.full { border-style: solid; border-color: black; }
        table.headers, table.none { border-style: none; }
        th {
                font-weight: bold; border-color: black;
                border-width: 2px 2px 3px 2px;
        }
        table.all th, table.full th { border-style: solid; }
        table.headers th { border-style: none none solid none; }
        table.none th { border-style: none; }
        table.all td {
                border-style: solid; border-color: #333;
                border-width: 1px 2px;
        }
        table.full td, table.headers td, table.none td { border-style: none; }

        hr { height: 1px; }
        hr.insert {
                width: 80%; border-style: none; border-width: 0;
                color: #CCC; background-color: #CCC;
        }
--></style>
</head>
<body>
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
<tr><td class="header">Internet Engineering Task Force</td><td class="header">S. Johnston</td></tr>
<tr><td class="header">Internet-Draft</td><td class="header">Australian Online Solutions</td></tr>
<tr><td class="header">Intended status: Experimental</td><td class="header">July 1, 2009</td></tr>
<tr><td class="header">Expires: January 2, 2010</td><td class="header">&nbsp;</td></tr>
</table></td></tr></table>
<h1><br />Web Categories<br />draft-johnston-http-category-header-00</h1>

<h3>Status of this Memo</h3>
<p>
This Internet-Draft is submitted to IETF in full
conformance with the provisions of BCP&nbsp;78 and BCP&nbsp;79.</p>
<p>
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups.
Note that other groups may also distribute working documents as
Internet-Drafts.</p>
<p>
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any time.
It is inappropriate to use Internet-Drafts as reference material or to cite
them other than as &ldquo;work in progress.&rdquo;</p>
<p>
The list of current Internet-Drafts can be accessed at
<a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>
<p>
The list of Internet-Draft Shadow Directories can be accessed at
<a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
<p>
This Internet-Draft will expire on January 2, 2010.</p>

<h3>Copyright Notice</h3>
<p>
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors.  All rights reserved.</p>
<p>
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your
rights and restrictions with respect to this document.</p>

<h3>Abstract</h3>

<p>This document specifies the Category header-field for HyperText
      Transfer Protocol (HTTP), which enables the sending of taxonomy
      information in HTTP headers.
</p><a name="toc"></a><br /><hr />
<h3>Table of Contents</h3>
<p class="toc">
<a href="#anchor1">1.</a>&nbsp;
Introduction<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor2">1.1.</a>&nbsp;
Requirements Language<br />
<a href="#anchor3">2.</a>&nbsp;
Categories<br />
<a href="#anchor4">3.</a>&nbsp;
The Category Header Field<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">3.1.</a>&nbsp;
Examples<br />
<a href="#IANA">4.</a>&nbsp;
IANA Considerations<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">4.1.</a>&nbsp;
Category Header Registration<br />
<a href="#Security">5.</a>&nbsp;
Security Considerations<br />
<a href="#anchor7">6.</a>&nbsp;
Internationalisation Considerations<br />
<a href="#rfc.references1">7.</a>&nbsp;
References<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#rfc.references1">7.1.</a>&nbsp;
Normative References<br />
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#rfc.references2">7.2.</a>&nbsp;
Informative References<br />
<a href="#app-html">Appendix&nbsp;A.</a>&nbsp;
Notes on use with HTML<br />
<a href="#anchor10">Appendix&nbsp;B.</a>&nbsp;
Notes on use with Atom<br />
<a href="#app-acknowledgements">Appendix&nbsp;C.</a>&nbsp;
Acknowledgements<br />
<a href="#app-history">Appendix&nbsp;D.</a>&nbsp;
Document History<br />
<a href="#app-issues">Appendix&nbsp;E.</a>&nbsp;
Outstanding Issues<br />
<a href="#rfc.authors">&#167;</a>&nbsp;
Author's Address<br />
</p>
<br clear="all" />

<a name="anchor1"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.1"></a><h3>1.&nbsp;
Introduction</h3>

<p>A means of indicating categories for resources on the web has been
      defined by Atom <a class='info' href='#RFC4287'>[RFC4287]<span> (</span><span class='info'>Nottingham, M. and R. Sayre, &ldquo;The Atom Syndication Format,&rdquo; December&nbsp;2005.</span><span>)</span></a>. This document defines a
      framework for exposing category information in the same format via HTTP
      headers.
</p>
<p>The atom:category element conveys information about a category
      associated with an entry or feed. A given atom:feed or atom:entry
      element MAY have zero or more categories which MUST have a "term"
      attribute (a string that identifies the category to which the entry or
      feed belongs) and MAY also have a scheme attribute (an IRI that
      identifies a categorization scheme) and/or a label attribute (a
      human-readable label for display in end-user applications).
</p>
<p>Similarly a web resource may be associated with zero or more
      categories as indicated in the Category header-field(s). These
      categories may be divided into separate vocabularies or "schemes" and/or
      accompanied with human-friendly labels.
</p>
<p>[[ Feedback is welcome on the ietf-http-wg@w3.org mailing list,
      although this is NOT a work item of the HTTPBIS WG. ]]
</p>
<a name="anchor2"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.1.1"></a><h3>1.1.&nbsp;
Requirements Language</h3>

<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in BCP 14, <a class='info' href='#RFC2119'>[RFC2119]<span> (</span><span class='info'>Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; March&nbsp;1997.</span><span>)</span></a>, as scoped to those conformance targets.
</p>
<p>This document uses the Augmented Backus-Naur Form (ABNF) notation
        of <a class='info' href='#RFC2616'>[RFC2616]<span> (</span><span class='info'>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, &ldquo;Hypertext Transfer Protocol -- HTTP/1.1,&rdquo; June&nbsp;1999.</span><span>)</span></a>, and explicitly includes the
        following rules from it: quoted-string, token. Additionally, the
        following rules are included from <a class='info' href='#RFC3986'>[RFC3986]<span> (</span><span class='info'>Berners-Lee, T., Fielding, R., and L. Masinter, &ldquo;Uniform Resource Identifier (URI): Generic Syntax,&rdquo; January&nbsp;2005.</span><span>)</span></a>:
        URI.
</p>
<a name="anchor3"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.2"></a><h3>2.&nbsp;
Categories</h3>

<p>In this specification, a category is a grouping of resources by
      'term', from a vocabulary ('scheme') identified by an IRI <a class='info' href='#RFC3987'>[RFC3987]<span> (</span><span class='info'>Duerst, M. and M. Suignard, &ldquo;Internationalized Resource Identifiers (IRIs),&rdquo; January&nbsp;2005.</span><span>)</span></a>. It is comprised of:</p>
<ul class="text">
<li>A "term" which is a string that identifies the category to which
          the resource belongs.
</li>
<li>A "scheme" which is an IRI that identifies a categorization
          scheme (optional).
</li>
<li>An "label" which is a human-readable label for display in
          end-user applications (optional).
</li>
</ul>

<p>A category can be viewed as a statement of the form "resource is from
      the {term} category of {scheme}, to be displayed as {label}", for
      example "'L&ouml;wchen' is from the 'dog' category of 'animals', to be
      displayed as 'Canine'".
</p>
<a name="anchor4"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.3"></a><h3>3.&nbsp;
The Category Header Field</h3>

<p>The Category entity-header provides a means for serialising one or
      more categories in HTTP headers. It is semantically equivalent to the
      atom:category element in Atom <a class='info' href='#RFC4287'>[RFC4287]<span> (</span><span class='info'>Nottingham, M. and R. Sayre, &ldquo;The Atom Syndication Format,&rdquo; December&nbsp;2005.</span><span>)</span></a>.
</p>
<p>
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>Category           = "Category" ":" #category-value
category-value     = term *( ";" category-param )
category-param     = ( ( "scheme" "=" &lt;"&gt; scheme &lt;"&gt; )
                   | ( "label" "=" quoted-string )
                   | ( "label*" "=" enc2231-string )
                   | ( category-extension ) )
category-extension = token [ "=" ( token | quoted-string ) ]
enc2231-string     = &lt;extended-value, see [RFC2231], Section 7&gt;
term               = token
scheme             = URI</pre></div>
<p>Each category-value conveys exactly one category but there may be
      multiple category-values for each header-field and/or multiple
      header-fields per <a class='info' href='#RFC2616'>[RFC2616]<span> (</span><span class='info'>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, &ldquo;Hypertext Transfer Protocol -- HTTP/1.1,&rdquo; June&nbsp;1999.</span><span>)</span></a>.
</p>
<p>Note that schemes are REQUIRED to be absolute URLs in Category
      headers, and MUST be quoted if they contain a semicolon (";") or comma
      (",") as these characters are used to separate category-params and
      category-values respectively.
</p>
<p>The "label" parameter is used to label the category such that it can
      be used as a human-readable identifier (e.g. a menu entry). Alternately,
      the "label*" parameter MAY be used encode this label in a different
      character set, and/or contain language information as per <a class='info' href='#RFC2231'>[RFC2231]<span> (</span><span class='info'>Freed, N. and K. Moore, &ldquo;MIME Parameter Value and Encoded Word Extensions: Character           Sets, Languages, and Continuations,&rdquo; November&nbsp;1997.</span><span>)</span></a>. When using the enc2231-string syntax,
      producers MUST NOT use a charset value other than 'ISO-8859-1' or
      'UTF-8'.
</p>
<a name="anchor5"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.3.1"></a><h3>3.1.&nbsp;
Examples</h3>

<p>NOTE: Non-ASCII characters used in prose for examples are encoded
        using the format "Backslash-U with Delimiters", defined in Section 5.1
        of <a class='info' href='#RFC5137'>[RFC5137]<span> (</span><span class='info'>Klensin, J., &ldquo;ASCII Escaping of Unicode Characters,&rdquo; February&nbsp;2008.</span><span>)</span></a>.
</p>
<p>For example:
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>Category: dog</pre></div>
<p>indicates that the resource is in the "dog" category.
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>Category: dog; label="Canine"; scheme="http://purl.org/net/animals"</pre></div>
<p>indicates that the resource is in the "dog" category, from the
        "http://purl.org/net/animals" scheme, and should be displayed as
        "Canine".
</p>
<p>The example below shows an instance of the Category header encoding
        multiple categories, and also the use of <a class='info' href='#RFC2231'>[RFC2231]<span> (</span><span class='info'>Freed, N. and K. Moore, &ldquo;MIME Parameter Value and Encoded Word Extensions: Character           Sets, Languages, and Continuations,&rdquo; November&nbsp;1997.</span><span>)</span></a> encoding to represent both non-ASCII
        characters and language information.
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>Category: dog; label="Canine"; scheme="http://purl.org/net/animals",
          lowchen; label*=UTF-8'de'L%c3%b6wchen";
          scheme="http://purl.org/net/animals/dogs"</pre></div>
<p>Here, the second category has a label encoded in UTF-8, uses the
        German language ("de"), and contains the Unicode code point \u'00F6'
        ("LATIN SMALL LETTER O WITH DIAERESIS").
</p>
<a name="IANA"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.4"></a><h3>4.&nbsp;
IANA Considerations</h3>

<a name="anchor6"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.4.1"></a><h3>4.1.&nbsp;
Category Header Registration</h3>

<p>This specification adds an entry for "Category" in HTTP to the
        Message Header Registry <a class='info' href='#RFC3864'>[RFC3864]<span> (</span><span class='info'>Klyne, G., Nottingham, M., and J. Mogul, &ldquo;Registration Procedures for Message Header Fields,&rdquo; September&nbsp;2004.</span><span>)</span></a> referring to
        this document:
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>Header Field Name: Category
Protocol: http
Status: standard
Author/change controller:
    IETF (iesg@ietf.org)
    Internet Engineering Task Force
Specification document(s):
    [ this document ]</pre></div>
<a name="Security"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.5"></a><h3>5.&nbsp;
Security Considerations</h3>

<p>The content of the Category header-field is not secure, private or
      integrity-guaranteed, and due caution should be exercised when using
      it.
</p>
<a name="anchor7"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.6"></a><h3>6.&nbsp;
Internationalisation Considerations</h3>

<p>Category header-fields may be localised depending on the
      Accept-Language header-field, as defined in section 14.4 of <a class='info' href='#RFC2616'>[RFC2616]<span> (</span><span class='info'>Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, &ldquo;Hypertext Transfer Protocol -- HTTP/1.1,&rdquo; June&nbsp;1999.</span><span>)</span></a>.
</p>
<p>Scheme IRIs in atom:category elements may need to be converted to
      URIs in order to express them in serialisations that do not support
      IRIs, as defined in section 3.1 of <a class='info' href='#RFC3987'>[RFC3987]<span> (</span><span class='info'>Duerst, M. and M. Suignard, &ldquo;Internationalized Resource Identifiers (IRIs),&rdquo; January&nbsp;2005.</span><span>)</span></a>. This
      includes the Category header-field.
</p>
<a name="rfc.references"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.7"></a><h3>7.&nbsp;
References</h3>

<a name="rfc.references1"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<h3>7.1.&nbsp;Normative References</h3>
<table width="99%" border="0">
<tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>
<td class="author-text"><a href="mailto:sob@harvard.edu">Bradner, S.</a>, &ldquo;<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; BCP&nbsp;14, RFC&nbsp;2119, March&nbsp;1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2119.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2119.xml">XML</a>).</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC2231">[RFC2231]</a></td>
<td class="author-text">Freed, N. and K. Moore, &ldquo;<a href="http://tools.ietf.org/html/rfc2231">MIME Parameter Value and Encoded Word Extensions: Character
          Sets, Languages, and Continuations</a>,&rdquo; RFC&nbsp;2231, November&nbsp;1997.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC2616">[RFC2616]</a></td>
<td class="author-text">Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, &ldquo;<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>,&rdquo; RFC&nbsp;2616, June&nbsp;1999.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3864">[RFC3864]</a></td>
<td class="author-text">Klyne, G., Nottingham, M., and J. Mogul, &ldquo;<a href="http://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>,&rdquo; BCP&nbsp;90, RFC&nbsp;3864, September&nbsp;2004.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3986">[RFC3986]</a></td>
<td class="author-text">Berners-Lee, T., Fielding, R., and L. Masinter, &ldquo;<a href="http://tools.ietf.org/html/rfc3986">Uniform Resource Identifier (URI): Generic Syntax</a>,&rdquo; STD&nbsp;66, RFC&nbsp;3986, January&nbsp;2005.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC3987">[RFC3987]</a></td>
<td class="author-text">Duerst, M. and M. Suignard, &ldquo;<a href="http://tools.ietf.org/html/rfc3987">Internationalized Resource Identifiers (IRIs)</a>,&rdquo; RFC&nbsp;3987, January&nbsp;2005.</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC4287">[RFC4287]</a></td>
<td class="author-text">Nottingham, M. and R. Sayre, &ldquo;<a href="http://tools.ietf.org/html/rfc4287">The Atom Syndication Format</a>,&rdquo; RFC&nbsp;4287, December&nbsp;2005 (<a href="http://www.ietf.org/rfc/rfc4287.txt">TXT</a>, <a href="http://tools.ietf.org/html/rfc4287">HTML</a>).</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC5137">[RFC5137]</a></td>
<td class="author-text">Klensin, J., &ldquo;<a href="http://tools.ietf.org/html/rfc5137">ASCII Escaping of Unicode Characters</a>,&rdquo; RFC&nbsp;5137, February&nbsp;2008.</td></tr>
</table>

<a name="rfc.references2"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<h3>7.2.&nbsp;Informative References</h3>
<table width="99%" border="0">
<tr><td class="author-text" valign="top"><a name="OCCI">[OCCI]</a></td>
<td class="author-text">Open Grid Forum (OGF), Edmonds, A., Metsch, T., Johnston, S., and A. Richardson, &ldquo;<a href="http://purl.org/occi">Open Cloud Computing Interface (OCCI)</a>.&rdquo;</td></tr>
<tr><td class="author-text" valign="top"><a name="RFC2068">[RFC2068]</a></td>
<td class="author-text">Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, &ldquo;<a href="http://tools.ietf.org/html/rfc2068">Hypertext Transfer Protocol -- HTTP/1.1</a>,&rdquo; RFC&nbsp;2068, January&nbsp;1997.</td></tr>
<tr><td class="author-text" valign="top"><a name="W3C.REC-html401-19991224">[W3C.REC-html401-19991224]</a></td>
<td class="author-text">Raggett, D., Hors, A., and I. Jacobs, &ldquo;<a href="http://www.w3.org/TR/1999/REC-html401-19991224">HTML 4.01 Specification</a>.&rdquo;</td></tr>
<tr><td class="author-text" valign="top"><a name="W3C.WD-html5-20090423">[W3C.WD-html5-20090423]</a></td>
<td class="author-text">Hyatt, D. and I. Hickson, &ldquo;<a href="http://www.w3.org/TR/2009/WD-html5-20090423">HTML 5</a>,&rdquo; April&nbsp;2009.</td></tr>
<tr><td class="author-text" valign="top"><a name="draft-nottingham-http-link-header">[draft-nottingham-http-link-header]</a></td>
<td class="author-text">Nottingham, M., &ldquo;<a href="http://www.ietf.org/internet-drafts/draft-nottingham-http-link-header-05.txt">Web Linking</a>,&rdquo; draft-nottingham-http-link-header-05 (work in progress), April&nbsp;2009 (<a href="http://www.ietf.org/internet-drafts/draft-nottingham-http-link-header-05.txt">TXT</a>).</td></tr>
<tr><td class="author-text" valign="top"><a name="rel-tag-microformat">[rel-tag-microformat]</a></td>
<td class="author-text">&Ccedil;elik, T., Marks, K., and D. Powazek, &ldquo;<a href="http://microformats.org/wiki/rel-tag">rel="tag" Microformat</a>.&rdquo;</td></tr>
</table>

<a name="app-html"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.A"></a><h3>Appendix A.&nbsp;
Notes on use with HTML</h3>

<p>In the absence of a dedicated category element in HTML 4 <a class='info' href='#W3C.REC-html401-19991224'>[W3C.REC&#8209;html401&#8209;19991224]<span> (</span><span class='info'>Raggett, D., Hors, A., and I. Jacobs, &ldquo;HTML 4.01 Specification,&rdquo; .</span><span>)</span></a> and HTML 5 <a class='info' href='#W3C.WD-html5-20090423'>[W3C.WD&#8209;html5&#8209;20090423]<span> (</span><span class='info'>Hyatt, D. and I. Hickson, &ldquo;HTML 5,&rdquo; April&nbsp;2009.</span><span>)</span></a>, category information (including
      user supllied folksonomy classifications) MAY be exposed using HTML A
      and/or LINK elements by concatenating the scheme and term:
</p><div style='display: table; width: 0; margin-left: 3em; margin-right: auto'><pre>category-link = scheme term
scheme        = URI
term          = token</pre></div>
<p>These category-links MAY form a resolveable "tag space" in which case
      they SHOULD use the "tag" relation-type per <a class='info' href='#rel-tag-microformat'>[rel&#8209;tag&#8209;microformat]<span> (</span><span class='info'>&Ccedil;elik, T., Marks, K., and D. Powazek, &ldquo;rel=&quot;tag&quot; Microformat,&rdquo; .</span><span>)</span></a>.
</p>
<p>Alternatively META elements MAY be used:
</p>
<p></p>
<ul class="text">
<li>where the "name" attribute is "keywords" and the "content"
          attribute is a comma-separated list of term(s)
</li>
<li>where the "http-equiv" attribute is "Category" and the "content"
          attribute is a comma-separated list of category-value(s)
</li>
</ul>

<a name="anchor10"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.B"></a><h3>Appendix B.&nbsp;
Notes on use with Atom</h3>

<p>Where the cardinality is known to be one (for example, when
      retrieving an individual resource) it MAY be preferable to render the
      resource natively over HTTP without Atom structures. In this case the
      contents of the atom:content element SHOULD be returned as the HTTP
      entity-body and metadata including the type attribute and atom:category
      element(s) via HTTP header-field(s).
</p>
<p>This approach SHOULD NOT be used where the cardinality is guaranteed
      to be one (for example, search results which MAY return one result).
</p>
<a name="app-acknowledgements"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.C"></a><h3>Appendix C.&nbsp;
Acknowledgements</h3>

<p>The author would like to thank Mark Nottingham for his work on Web
      Linking <a class='info' href='#draft-nottingham-http-link-header'>[draft&#8209;nottingham&#8209;http&#8209;link&#8209;header]<span> (</span><span class='info'>Nottingham, M., &ldquo;Web Linking,&rdquo; April&nbsp;2009.</span><span>)</span></a> (on
      which this document was based) and to the authors of <a class='info' href='#RFC2068'>[RFC2068]<span> (</span><span class='info'>Fielding, R., Gettys, J., Mogul, J., Nielsen, H., and T. Berners-Lee, &ldquo;Hypertext Transfer Protocol -- HTTP/1.1,&rdquo; January&nbsp;1997.</span><span>)</span></a> for specification of the Link: header-field on
      which this is based.
</p>
<p>The author would like to thank members of the OGF's Open Cloud
      Computing Interface <a class='info' href='#OCCI'>[OCCI]<span> (</span><span class='info'>Open Grid Forum (OGF), Edmonds, A., Metsch, T., Johnston, S., and A. Richardson, &ldquo;Open Cloud Computing Interface (OCCI),&rdquo; .</span><span>)</span></a> working group for their
      contributions and others who commented upon, encouraged and gave
      feedback to this draft.
</p>
<a name="app-history"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.D"></a><h3>Appendix D.&nbsp;
Document History</h3>

<p>[[ to be removed by the RFC editor should document proceed to
      publication as an RFC. ]]
</p>
<p></p>
<blockquote class="text">
<p>-00</p>
<ul class="text">
<li>Initial draft based on
              draft-nottingham-http-link-header-05
</li>
</ul>

</blockquote>

<a name="app-issues"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<a name="rfc.section.E"></a><h3>Appendix E.&nbsp;
Outstanding Issues</h3>

<p>[[ to be removed by the RFC editor should document proceed to
      publication as an RFC. ]]
</p>
<p>The following issues are oustanding and should be addressed:</p>
<ol class="text">
<li>Is extensibility of Category headers necessary as is the case for
          Link: headers? If so, what are the use cases?
</li>
<li>Is supporting multi-lingual representations of the same
          category(s) necessary? If so, what are the risks of doing so?
</li>
<li>Is a mechanism for maintaining Category header-fields required?
          If so, should it use the headers themselves or some other
          mechanism?
</li>
<li>Does this proposal conflict with others in the same space? If so,
          is it an improvement on what exists?
</li>
</ol>

<a name="rfc.authors"></a><br /><hr />
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
<h3>Author's Address</h3>
<table width="99%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="author-text">&nbsp;</td>
<td class="author-text">Sam Johnston</td></tr>
<tr><td class="author-text">&nbsp;</td>
<td class="author-text">Australian Online Solutions</td></tr>
<tr><td class="author-text">&nbsp;</td>
<td class="author-text">GPO Box 296</td></tr>
<tr><td class="author-text">&nbsp;</td>
<td class="author-text">Sydney, NSW  2001</td></tr>
<tr><td class="author" align="right">Email:&nbsp;</td>
<td class="author-text"><a href="mailto:samj@samj.net">samj@samj.net</a></td></tr>
<tr><td class="author" align="right">URI:&nbsp;</td>
<td class="author-text"><a href="http://samj.net/">http://samj.net/</a></td></tr>
</table>
</body></html>