<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc toc="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc symrefs="yes" ?>
<rfc category="std" ipr="trust200902" docName="draft-wilde-accept-post-03">
   <front>
      <title abbrev="Accept-Post">The Accept-Post HTTP Header</title>
      <author initials="J." surname="Arwe" fullname="John Arwe">
         <organization>IBM</organization>
         <address>
            <email>johnarwe@us.ibm.com</email>
         </address>
      </author>
      <author initials="S." surname="Speicher" fullname="Steve Speicher">
         <organization>IBM</organization>
         <address>
            <email>sspeiche@us.ibm.com</email>
         </address>
      </author>
      <author initials="E." surname="Wilde" fullname="Erik Wilde">
         <organization>UC Berkeley</organization>
         <address>
            <email>dret@berkeley.edu</email>
            <uri>http://dret.net/netdret/</uri>
         </address>
      </author>
      <date day="5" month="Aug" year="2014"/>
      <abstract>
         <t>This specification defines a new HTTP response header field Accept-Post, which indicates server support for specific media types for entity bodies in HTTP POST requests.</t>
      </abstract>
      <note title="Note to Readers">
         <t>This draft should be discussed on the <eref target="https://www.ietf.org/mailman/listinfo/apps-discuss">apps-discuss mailing list</eref>.</t>
         <t>Online access to all versions and files is available on <eref target="https://github.com/dret/I-D/tree/master/accept-post">github</eref>.</t>
      </note>
   </front>
   <middle>
      <section title="Introduction" anchor="intro">
         <t>This specification defines a new HTTP response header field Accept-Post, which indicates server support for specific media types for entity bodies in HTTP POST requests. This header field is comparable to the Accept-Patch response header field specified together with the HTTP PATCH method <xref target="RFC5789"/> (notice, however, that while Accept-Patch is defined to only list specific media types, Accept-Post reuses the "media range" concept of HTTP's Accept header and thus allows media type wildcards as well).</t>
      </section>
      <section title="Terminology">
         <t>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 RFC 2119 <xref target="RFC2119"/>.</t>
      </section>
      <section title="The Accept-Post Response Header Field" anchor="accept-post">
         <t>This specification introduces a new response header field Accept-Post used to specify the document formats accepted by the server in HTTP POST requests. Accept-Post SHOULD appear in the OPTIONS response for any resource that supports the use of the POST method. The presence of the Accept-Post header in response to any method is an implicit indication that POST is allowed on the resource identified by the Request-URI. The presence of a specific document format in this header indicates that this specific format is allowed on the resource identified by the Request-URI.</t>
         <t>The syntax for Accept-Post headers, using the ABNF <xref target="RFC5234"/> syntax defined in Section 5.3.2 of HTTP/1.1 <xref target="RFC7231"/>, is given by the following definition:</t>
         <figure>
            <artwork type="abnf">Accept-Post = #( media-range [ accept-params ] )</artwork>
         </figure>
         <t>(Please note that this ABNF differs from the one given in Section 5.3.2 of RFC 7231 <xref target="RFC7231"/>, which includes the header field name.)</t>
         <t>The Accept-Post header specifies a media range as defined by HTTP <xref target="RFC7231"/>. The media range specifies a type of representation that can be POSTed to the Request-URI.</t>
         <t>The app:accept element is similar to the HTTP Accept request header field <xref target="RFC7231"/>. Media type parameters are allowed within Accept-Post, but Accept-Post has no notion of preference - "accept-params" or "q" arguments, as specified in Section 5.3.2 of <xref target="RFC7231"/>, are not significant.</t>
      </section>
      <section title="IANA Considerations" anchor="iana">
         <t>This specification defines a response header field for the Hypertext Transfer Protocol (HTTP) that has been registered with the Internet Assigned Numbers Authority (IANA) following the "Registration Procedures for Message Header Fields" <xref target="RFC3864"/>.</t>
         <section title="The Accept-Post Response Header" anchor="iana-accept-post">
            <t>The Accept-Post response header should be added to the permanent registry of message header fields (see <xref target="RFC3864"/>), taking into account the guidelines given by HTTP/1.1 <xref target="RFC7231"/>.</t>
            <t>Header Field Name: Accept-Post</t>
            <t>Applicable Protocol: Hypertext Transfer Protocol (HTTP)</t>
            <t>Status: Standard</t>
            <t>Author/Change controller: IETF</t>
            <t>Specification document(s): RFC XXXX</t>
         </section>
      </section>
      <section title="Examples" anchor="examples">
         <t>Accept-Post extends the way in which interaction information can be exposed in HTTP itself. The following sections contain some examples how this can be used in concrete HTTP-based services. Based on the first example of AtomPub <xref target="example-atompub"/>, when sending a GET request to the URI of a collection, the following response could be sent, if the server decided to support Accept-Post headers:</t>
         <figure>
            <artwork type="HTTP">HTTP/1.1 201 OK
               Date: Fri, 23 Feb 2007 21:17:11 GMT
               Content-Length: nnn
               Content-Type: application/atom+xml;type=feed
               Accept-Post: image/gif, image/jpeg, image/png</artwork>
         </figure>
         <t>In this response to the GET request of a collection URI, the server indicates that this particular collection accepts new entries in the form of GIF, JPEG, or PNG images. No parameters are used, which means that there is no server-specified preference among those media types.</t>
         <section title="Atom Publishing Protocol" anchor="example-atompub">
            <t>The Atom Publishing Protocol (AtomPub) <xref target="RFC5023"/> defines a model of interacting with collections and members, based on representations using the Atom <xref target="RFC4287"/> syntax. AtomPub allows clients to create new collection members by using HTTP POST, with the request being sent to the collection URI. AtomPub servers can limit the media types they accept in these POST requests, and the accepted media types are listed in an "AtomPub service document".</t>
            <t>The Accept-Post header field does allow an AtomPub server to advertise its support for specific media types in interactions with the collection resource, without the need for a client to locate the service document and interact with it. This increases the visibility of the "POST to Create" model of AtomPub, and makes it easier for clients to find out about the capabilities of a specific collection.</t>
            <t>While the AtomPub protocol cannot be changed retroactively, this additional way of exposing interaction guidance could make it easier for clients to interact with AtomPub services that do support the Accept-Post header field. For those that do not support Accept-Post, clients would still have to rely on using the information contained in the service document (including the sometimes tricky issue of how to locate the service document for a given collection).</t>
         </section>
         <section title="Linked Data Platform" anchor="example-ldp">
            <t>The Linked Data Platform (LDP) <xref target="W3C.WD-ldp-20140311"/> describes a set of best practices and simple approach for a read-write Linked Data architecture, based on HTTP access to Web resources that describe their state using the RDF data model. LDP defines LDP Containers (LDPC) and LDP Resources (LDPR). Adding new LDPRs to an LDPC is done by sending an HTTP POST request to the LDPC. An LDPC can constrain the media types it is accepting for these POST requests, and should expose its support for accepted media types via Accept-Post.</t>
            <t>In fact, the Accept-Post header was initially developed within the W3C's LDP Working Group (LDPWG), see <xref target="acknowledgements"/> for acknowledgements. It was then decided that the header itself might be useful in other contexts as well, and thus should be specified in a standalone document.</t>
         </section>
         <section title="Additional Information in Error Responses" anchor="example-415">
            <t>If a client POSTs an unsupported POST document, it is possible for the server to use Accept-Post to indicate the supported media types. These can be specified using a 415 (Unsupported Media Type) response when the client sends a POST document format that the server does not support for the resource identified by the Request-URI. Such a response then MAY include an Accept-Post response header notify the client what POST document media types are supported.</t>
            <t>This example applies to all resources supporting a limited set of media types for POST requests, such as the ones listed in the previous to sections. In both AtomPub and LDP, it would be possible for a server to include an Accept-Post header in a 415 response to a failed POST request, and indicate the media types that are accepted for POST requests.</t>
         </section>
      </section>
      <section title="Implementation Status" anchor="implementation-status">
         <!-- 
RFC 6982: This section, if it appears, should be located just before the "Security Considerations" section and contain, for each existing implementation, some or all of the following:
 -  The organization responsible for the implementation, if any.
 -  The implementation's name and/or a link to a web page describing the implementation.
 -  A brief general description.
 -  The implementation's level of maturity: research, prototype, alpha, beta, production, widely used, etc.
 -  Coverage: which parts of the protocol specification are implemented and which versions of the Internet-Draft were implemented.
 -  Licensing: the terms under which the implementation can be used. For example: proprietary, royalty licensing, freely distributable with acknowledgement (BSD style), freely distributable with requirement to redistribute source (General Public License (GPL) style), and other (specify).
 -  Implementation experience: any useful information the implementers want to share with the community.
 -  Contact information: ideally a person's name and email address, but possibly just a URL or mailing list.
         <section title="" anchor="implementation-">
            <t>
               <list>
                  <t>Organization: </t>
                  <t>Name: </t>
                  <t>Description: </t>
                  <t>Maturity: </t>
                  <t>Coverage: </t>
                  <t>Licensing: </t>
                  <t>Implementation Experience: </t>
                  <t>Contact: </t>
               </list>
            </t>
         </section>
-->
         <t>Note to RFC Editor: Please remove this section before publication.</t>
         <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in RFC 6982 <xref target="RFC6982"/>. The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs. Please note that the listing of any individual implementation here does not imply endorsement by the IETF. Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors. This is not intended as, and must not be construed to be, a catalog of available implementations or their features. Readers are advised to note that other implementations may exist.</t>
         <t>According to RFC 6982, "this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature. It is up to the individual working groups to use this information as they see fit".</t>
         <section title="Eclipse Lyo" anchor="implementation-eclipse-lyo">
            <t>
               <list>
                  <t>Organization: IBM developed and contributed to the <eref target="http://eclipse.org/lyo">Eclipse Lyo project</eref>.</t>
                  <t>Name: Eclipse Lyo <eref target="http://wiki.eclipse.org/Lyo/BuildLDPSample">"LDP reference implementation"</eref></t>
                  <t>Description: A very simple reference implementation for W3C Linked Data Platform (LDP) using some base Java technologies such as JAX-RS 2.0 and Apache Jena. The goals of this reference implementation is to experiment with validating the concepts in the specification and understanding what a SDK might look like to build LDP-compliant servers. Additional goal is to validate the approach for usage in OSLC4J SDK for building <eref target="http://open-services.net">OSLC</eref> clients and servers.</t>
                  <t>Maturity: Early prototype/alpha.</t>
                  <t>Coverage: All parts of the specification were covered for server requirements.</t>
                  <t>Licensing: Freely distributable (<eref target="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License (EPL)</eref> and <eref target="http://www.eclipse.org/org/documents/edl-v10.php">Eclipse Distribution License (EDL)</eref>).</t>
                  <t>Implementation Experience: Experience is only from the server perspective of generating the HTTP response header. It was trivial using JAX-RS 2.0 mechanism using a ContainerResponseFilter on all responses. More details about this approach are described in <eref target="http://stevespeicher.blogspot.com/2013/08/supporting-accept-post-in-jax-rs.html">this blog post</eref>.</t>
                  <t>Contact: Steve Speicher &lt;sspeiche@gmail.com></t>
               </list>
            </t>
         </section>
         <section title="RWW.I/O" anchor="implementation-rwwio">
            <t>
               <list>
                  <t>Organization: No particular organization. The work done is part of project <eref target="https://rww.io/">RWW.I/O</eref>.</t>
                  <t>Name: RWW.I/O - personal linked data storage.</t>
                  <t>Description: A minimal support for LDP is now included in RWW.I/O, which is a personal linked data storage space, following the structure of a Unix file system. Currently, only LDPCs are supported, since the LDPRs are always files or directories that are being managed through RESTful operations. RWW.I/O encourages the use of .meta files to semantically describe non-LD resources (e.g. images, html, js, css, etc.), and the use of .acl files for access control rules using the WAC vocabulary. Both .meta and .acl should be used per file (i.e. photo.jpg will have a .meta.photo.jpg and a .acl.photo.jpg).</t>
                  <t>Maturity: Beta until more features from LDP spec are included (if necessary).</t>
                  <t>Coverage: LDPCs on the server side, pagination and Accept-Post header. You can test LDPC support like this: curl -H "Accept: text/turtle" https://deiu.rww.io/public/?p=1 ; You can test Accept-Post header like this: curl -v -X OPTIONS -H "Accept: text/turtle" https://deiu.rww.io/public/</t>
                  <t>Licensing: MIT license. Source code is available <eref target="https://github.com/deiu/rww.io">on GitHub</eref>.</t>
                  <t>Implementation Experience: Implementing current LDP features in RWW.I/O was trivial. I've also decided to add the Accept-Post header to HEAD replies, as it helps to reduce the number of requests for a client trying to discover more information about the server.</t>
                  <t>Contact: Andrei Sambra &lt;andrei.sambra@gmail.com></t>
               </list>
            </t>
         </section>
         <section title="Tivoli Workload Automation" anchor="implementation-tivoli">
            <t>
               <list>
                  <t>Organization: <eref target="http://www.ibm.com/">IBM</eref></t>
                  <t>Name: <eref target="https://www.ibm.com/developerworks/community/forums/html/topic?id=f403c299-c1c6-4da8-8b12-f3b72de54a1a">Tivoli Workload Automation</eref></t>
                  <t>Description: An existing scheduling product that already implements the <eref target="http://open-services.net/wiki/automation/OSLC-Automation-Specification-Version-2.0/">OSLC Automation specification</eref> (both client and server roles), including creation factories for Automation Requests that accept HTTP POST requests. Since OSLC Automation offers no programmatic way for clients to know which media types are supported by the server, clients are limited in practice to those required by OSLC Automation (RDF/XML), or to making optimistic requests using other RDF media types.</t>
                  <t>Maturity: Early prototype/alpha</t>
                  <t>Coverage: All parts of the specification were covered for server and client requirements.</t>
                  <t>Licensing: proprietary</t>
                  <t>Implementation Experience: Experience from the server perspective of generating the HTTP response header is that it was trivial using JAX-RS annotations to add another response header. Client parsing of the header presented no new problems, since the syntax is almost identical to the server-side processing of an Accept header.</t>
                  <t>Contact: John Arwe &lt;johnarwe@us.ibm.com></t>
               </list>
            </t>
         </section>
         <section title="Jazz for Service Management " anchor="implementation-jazz">
            <t>
               <list>
                  <t>Organization: <eref target="http://www.ibm.com/">IBM</eref></t>
                  <t>Name: Jazz for Service Management Registry Services</t>
                  <t>Description: An existing component bundled with multiple existing Cloud and Smarter Infrastructure (formerly branded as Tivoli)  products. It already supports multiple resource collections that use HTTP POST requests to create new member resources, e.g. "registration records". Given that clients have no existing means by which they can know which media types the server supports, and given that Registry Services has been adding new media types over the past few months as part of its continuous delivery process, Accept-Post is a natural fit to enable looser client coupling.</t>
                  <t>Maturity: Early prototype/alpha</t>
                  <t>Coverage: All parts of the specification were covered for server requirements.</t>
                  <t>Licensing: proprietary</t>
                  <t>Implementation Experience: Experience is only from the server perspective of generating the HTTP response header. It was easy to add a new header using JAX-RS annotations.</t>
                  <t>Contact: John Arwe &lt;johnarwe@us.ibm.com></t>
               </list>
            </t>
         </section>
      </section>
      <section title="Security Considerations" anchor="security-considerations">
         <t>The Accept-Post header may expose information that a server would prefer to not publish. In such a case, a server can simply stop exposing the header, in which case HTTP interactions would be back to the level of standard HTTP (i.e., with no indication what kind of media types a resource accepts in POST requests).</t>
      </section>
      <section title="Open Issues" anchor="open-issues">
         <t>Note to RFC Editor: Please remove this section before publication.</t>
         <t>
            <list style="symbols">
               <t>Accept-Post currently uses the "media range" concept of HTTP's Accept header field. An alternative would be only support fully specified media types, which is what the Accept-Patch header field is doing. This latter solution is more constrained, and fails to address some uses cases, such as AtomPub's way of exposing collection support for POST requests.</t>
               <t>While "accept-post" is currently defined in the "HTTP Link Hints" draft <xref target="I-D.nottingham-link-hint"/>, it would be good to align the way in which they work. Currently, the "accept-post" of link hints allows a list of specific media types, whereas the Accept-Post header field may contain "media ranges".</t>
            </list>
         </t>
      </section>
      <section title="Change Log">
         <t>Note to RFC Editor: Please remove this section before publication.</t>
         <section title="From -03 to -04">
            <t>
               <list style="symbols">
                  <t>Updating references (removing RFC 2616, adding new HTTP/1.1 RFCs).</t>
               </list>
            </t>
         </section>
         <section title="From -02 to -03">
            <t>
               <list style="symbols">
                  <t>Adding reference to RFC 5234 (ABNF).</t>
                  <t>Updating references.</t>
                  <t>Adding proper registration template.</t>
               </list>
            </t>
         </section>
         <section title="From -01 to -02">
            <t>
               <list style="symbols">
                  <t>Added header field example.</t>
                  <t>Updated author address.</t>
                  <t>Adding more entries to the "Implementation Status" section.</t>
               </list>
            </t>
         </section>
         <section title="From -00 to -01">
            <t>
               <list style="symbols">
                  <t>Changed ABNF for header field from RFC 2616 to HTTPbis convention (only specify the header field value grammar).</t>
                  <t>Added implementations (all from the LDP community for now).</t>
                  <t>Added open issue for aligning accept-post as defined by the "HTTP Link Hints" draft.</t>
               </list>
            </t>
         </section>
      </section>
   </middle>
   <back>
      <references title="Normative References">
         <reference anchor="RFC2119">
            <front>
               <title abbrev="RFC Key Words">Key words for use in RFCs to Indicate Requirement Levels</title>
               <author initials="S." surname="Bradner" fullname="Scott Bradner">
                  <organization>Harvard University</organization>
                  <address>
                     <postal>
                        <street>1350 Mass. Ave.</street>
                        <street>Cambridge</street>
                        <street>MA 02138</street>
                     </postal>
                     <phone>- +1 617 495 3864</phone>
                  </address>
               </author>
               <date month="March" year="1997"/>
            </front>
            <seriesInfo name="RFC" value="2119"/>
         </reference>
         <reference anchor='RFC3864'>
            <front>
               <title>Registration Procedures for Message Header Fields</title>
               <author initials='G.' surname='Klyne' fullname='G. Klyne'>
                  <organization /></author>
               <author initials='M.' surname='Nottingham' fullname='M. Nottingham'>
                  <organization /></author>
               <author initials='J.' surname='Mogul' fullname='J. Mogul'>
                  <organization /></author>
               <date year='2004' month='September' />
               <abstract>
                  <t>This specification defines registration procedures for the message header fields used by Internet mail, HTTP, Netnews and other applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
               </abstract>
            </front>
            <seriesInfo name='BCP' value='90' />
            <seriesInfo name='RFC' value='3864' />
            <format type='TXT' octets='36231' target='http://www.rfc-editor.org/rfc/rfc3864.txt' />
         </reference>
      </references>
      <references title="Informative References">
         <reference anchor='RFC4287'>
            <front>
               <title abbrev='Atom Format'>The Atom Syndication Format</title>
               <author initials='M.' surname='Nottingham' fullname='Mark Nottingham' role='editor'>
                  <organization />
                  <address>
                     <email>mnot@pobox.com</email>
                     <uri>http://www.mnot.net/</uri>
                  </address>
               </author>
               <author initials='R.' surname='Sayre' fullname='Robert Sayre' role='editor'>
                  <organization />
                  <address>
                     <email>rfsayre@boswijck.com</email>
                     <uri>http://boswijck.com</uri>
                  </address>
               </author>
               <date year='2005' month='December' />
               <abstract>
                  <t>This document specifies Atom, an XML-based Web content and metadata syndication format.</t>
               </abstract>
            </front>            
            <seriesInfo name='RFC' value='4287' />
            <format type='TXT' octets='81922' target='http://www.rfc-editor.org/rfc/rfc4287.txt' />
            <format type='HTML' octets='150786' target='http://xml.resource.org/public/rfc/html/rfc4287.html' />
            <format type='XML' octets='108706' target='http://xml.resource.org/public/rfc/xml/rfc4287.xml' />
         </reference>
         <reference anchor='RFC5023'>
            <front>
               <title>The Atom Publishing Protocol</title>
               <author initials='J.' surname='Gregorio' fullname='J. Gregorio'>
                  <organization /></author>
               <author initials='B.' surname='de hOra' fullname='B. de hOra'>
                  <organization /></author>
               <date year='2007' month='October' />
               <abstract>
                  <t>The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources. The protocol is based on HTTP transfer of Atom-formatted representations. The Atom format is documented in the Atom Syndication Format. [STANDARDS TRACK]</t>
               </abstract>
            </front>
            <seriesInfo name='RFC' value='5023' />
            <format type='TXT' octets='102274' target='ftp://ftp.isi.edu/in-notes/rfc5023.txt' />
         </reference>
         <reference anchor='RFC5234'>
            <front>
               <title>Augmented BNF for Syntax Specifications: ABNF</title>
               <author initials='D.' surname='Crocker' fullname='D. Crocker'>
                  <organization />
               </author>
               <author initials='P.' surname='Overell' fullname='P. Overell'>
                  <organization />
               </author>
               <date year='2008' month='January' />
               <abstract>
                  <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
               </abstract>
            </front>
            <seriesInfo name='STD' value='68' />
            <seriesInfo name='RFC' value='5234' />
            <format type='TXT' octets='26359' target='http://www.rfc-editor.org/rfc/rfc5234.txt' />
         </reference>
         <reference anchor='RFC5789'>
            <front>
               <title>PATCH Method for HTTP</title>
               <author initials='L.' surname='Dusseault' fullname='Lisa Dusseault'>
                  <organization /></author>
               <author initials='J.' surname='Snell' fullname='James Snell'>
                  <organization /></author>
               <date year='2010' month='March' />
               <abstract>
                  <t>Several applications extending the Hypertext Transfer Protocol (HTTP) require a feature to do partial resource modification. The existing HTTP PUT method only allows a complete replacement of a document. This proposal adds a new HTTP method, PATCH, to modify an existing HTTP resource.</t>
               </abstract>
            </front>
            <seriesInfo name='RFC' value='5789' />
            <format type='TXT' octets='21706' target='http://www.rfc-editor.org/rfc/rfc5789.txt' />
         </reference>
         <reference anchor='RFC6982'>
            <front>
               <title>Improving Awareness of Running Code: The Implementation Status Section</title>
               <author initials='Y.' surname='Sheffer' fullname='Y. Sheffer'>
                  <organization /></author>
               <author initials='A.' surname='Farrel' fullname='A. Farrel'>
                  <organization /></author>
               <date year='2013' month='July' />
               <abstract>
                  <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.&lt;/t>&lt;t> The process in this document is offered as an experiment. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. The authors of this document intend to collate experiences with this experiment and to report them to the community.</t>
               </abstract>
            </front>
            <seriesInfo name='RFC' value='6982' />
            <format type='TXT' octets='19358' target='http://www.rfc-editor.org/rfc/rfc6982.txt' />
         </reference>
         <reference anchor='W3C.WD-ldp-20140311' target='http://www.w3.org/TR/2014/WD-ldp-20140311'>
            <front>
               <title>Linked Data Platform 1.0</title>
               <author initials='S.' surname='Speicher' fullname='Steve Speicher'>
                  <organization />
               </author>
               <author initials='J.' surname='Arwe' fullname='John Arwe'>
                  <organization />
               </author>
               <author initials='A.' surname='Malhotra' fullname='Ashok Malhotra'>
                  <organization />
               </author>
               <date month='March' day='11' year='2014' />
            </front>
            <seriesInfo name='World Wide Web Consortium LastCall' value='WD-ldp-20140311' />
            <format type='HTML' target='http://www.w3.org/TR/2014/WD-ldp-20140311' />
         </reference>
         <reference anchor='RFC7231'>
            <front>
               <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title>
               <author initials='R.' surname='Fielding' fullname='R. Fielding'>
                  <organization /></author>
               <author initials='J.' surname='Reschke' fullname='J. Reschke'>
                  <organization /></author>
               <date year='2014' month='June' />
               <abstract>
                  <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines the semantics of HTTP/1.1 messages, as expressed by request methods, request header fields, response status codes, and response header fields, along with the payload of messages (metadata and body content) and mechanisms for content negotiation.</t>
               </abstract>
            </front>
            <seriesInfo name='RFC' value='7231' />
            <format type='TXT' octets='235053' target='http://www.rfc-editor.org/rfc/rfc7231.txt' />
         </reference>
         <reference anchor='I-D.nottingham-link-hint'>
            <front>
               <title>HTTP Link Hints</title>
               <author initials='M' surname='Nottingham' fullname='Mark Nottingham'>
                  <organization />
               </author>
               <date month='June' day='9' year='2013' />
               <abstract><t>This memo specifies "HTTP Link Hints", a mechanism for annotating Web links to HTTP(S) resources with information that otherwise might be discovered by interacting with them. Note to Readers  This draft should be discussed on the apps-discuss mailing list; see [apps-discuss].</t></abstract>
            </front>
            <seriesInfo name='Internet-Draft' value='draft-nottingham-link-hint-00' />
            <format type='TXT' target='http://www.ietf.org/internet-drafts/draft-nottingham-link-hint-00.txt' />
         </reference>
      </references>
      <section title="Acknowledgements" anchor="acknowledgements">
         <t>Thanks for comments and suggestions provided by Martin Duerst, Barry Leiba, Mark Nottingham, and Julian Reschke.</t>
         <t>This work has been done in the context of the W3C Linked Data Platform Working Group (LDPWG) <xref target="W3C.WD-ldp-20140311"/>; thanks for comments and suggestions provided by the working group as a whole.</t>
      </section>
   </back>
</rfc>
