Ignore:
Timestamp:
29/03/11 12:57:19 (12 years ago)
Author:
julian.reschke@…
Message:

rewrite header field ABNFs to only specify the field value (see #276)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p5-range.html

    r1215 r1232  
    359359  }
    360360  @bottom-center {
    361        content: "Expires September 28, 2011";
     361       content: "Expires September 30, 2011";
    362362  }
    363363  @bottom-right {
     
    406406      <meta name="dct.creator" content="Reschke, J. F.">
    407407      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p5-range-latest">
    408       <meta name="dct.issued" scheme="ISO8601" content="2011-03-27">
     408      <meta name="dct.issued" scheme="ISO8601" content="2011-03-29">
    409409      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    410410      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World Wide Web global information initiative since 1990. This document is Part 5 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 5 defines range-specific requests and the rules for constructing and combining responses to those requests.">
     
    432432            </tr>
    433433            <tr>
    434                <td class="left">Expires: September 28, 2011</td>
     434               <td class="left">Expires: September 30, 2011</td>
    435435               <td class="right">J. Mogul</td>
    436436            </tr>
     
    489489            <tr>
    490490               <td class="left"></td>
    491                <td class="right">March 27, 2011</td>
     491               <td class="right">March 29, 2011</td>
    492492            </tr>
    493493         </tbody>
     
    515515         in progress”.
    516516      </p>
    517       <p>This Internet-Draft will expire on September 28, 2011.</p>
     517      <p>This Internet-Draft will expire on September 30, 2011.</p>
    518518      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    519519      <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    724724      <h2 id="rfc.section.5.1"><a href="#rfc.section.5.1">5.1</a>&nbsp;<a id="header.accept-ranges" href="#header.accept-ranges">Accept-Ranges</a></h2>
    725725      <p id="rfc.section.5.1.p.1">The "Accept-Ranges" header field allows a resource to indicate its acceptance of range requests.</p>
    726       <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span>  <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a>     = "Accept-Ranges" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a>
    727   <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a>   = <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a>
     726      <div id="rfc.figure.u.5"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  <a href="#header.accept-ranges" class="smpl">Accept-Ranges</a>     = <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a>
    728727  <a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = 1#<a href="#range.units" class="smpl">range-unit</a> / "none"
    729728</pre><p id="rfc.section.5.1.p.3">Origin servers that accept byte-range requests <em class="bcp14">MAY</em> send
     
    744743      <p id="rfc.section.5.2.p.2">Range units are defined in <a href="#range.units" title="Range Units">Section&nbsp;2</a>.
    745744      </p>
    746       <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span>  <a href="#header.content-range" class="smpl">Content-Range</a> = "Content-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.content-range" class="smpl">Content-Range-v</a>
    747   <a href="#header.content-range" class="smpl">Content-Range-v</a> = <a href="#header.content-range" class="smpl">content-range-spec</a>
     745      <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span>  <a href="#header.content-range" class="smpl">Content-Range</a> = <a href="#header.content-range" class="smpl">content-range-spec</a>
    748746 
    749747  <a href="#header.content-range" class="smpl">content-range-spec</a>      = <a href="#header.content-range" class="smpl">byte-content-range-spec</a>
     
    828826         is unchanged, send me the part(s) that I am missing; otherwise, send me the entire new representation".
    829827      </p>
    830       <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span>  <a href="#header.if-range" class="smpl">If-Range</a>   = "If-Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-range" class="smpl">If-Range-v</a>
    831   <a href="#header.if-range" class="smpl">If-Range-v</a> = <a href="#abnf.dependencies" class="smpl">entity-tag</a> / <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     828      <div id="rfc.figure.u.14"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  <a href="#header.if-range" class="smpl">If-Range</a> = <a href="#abnf.dependencies" class="smpl">entity-tag</a> / <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
    832829</pre><p id="rfc.section.5.3.p.4">If the client has no entity-tag for a representation, but does have a Last-Modified date, it <em class="bcp14">MAY</em> use that date in an If-Range header field. (The server can distinguish between a valid HTTP-date and any form of entity-tag
    833830         by examining no more than two characters.) The If-Range header field <em class="bcp14">SHOULD</em> only be used together with a Range header field, and <em class="bcp14">MUST</em> be ignored if the request does not include a Range header field, or if the server does not support the sub-range operation.
     
    851848         </p>
    852849      </div>
    853       <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span>  <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a>
     850      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span>  <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> = <a href="#range.units" class="smpl">bytes-unit</a> "=" <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a>
    854851  <a href="#rule.ranges-specifier" class="smpl">byte-range-set</a>  = 1#( <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> / <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> )
    855852  <a href="#rule.ranges-specifier" class="smpl">byte-range-spec</a> = <a href="#rule.ranges-specifier" class="smpl">first-byte-pos</a> "-" [ <a href="#rule.ranges-specifier" class="smpl">last-byte-pos</a> ]
     
    867864      </p>
    868865      <p id="rfc.section.5.4.1.p.8">By its choice of last-byte-pos, a client can limit the number of bytes retrieved without knowing the size of the representation.</p>
    869       <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span>  <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a>
     866      <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span>  <a href="#rule.ranges-specifier" class="smpl">suffix-byte-range-spec</a> = "-" <a href="#rule.ranges-specifier" class="smpl">suffix-length</a>
    870867  <a href="#rule.ranges-specifier" class="smpl">suffix-length</a> = 1*<a href="#notation" class="smpl">DIGIT</a>
    871868</pre><p id="rfc.section.5.4.1.p.10">A suffix-byte-range-spec is used to specify the suffix of the representation body, of a length given by the suffix-length
     
    901898         body, instead of the entire representation body.
    902899      </p>
    903       <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.23"></span>  <a href="#range.retrieval.requests" class="smpl">Range</a>   = "Range" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#range.retrieval.requests" class="smpl">Range-v</a>
    904   <a href="#range.retrieval.requests" class="smpl">Range-v</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a>
    905           / <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a>
     900      <div id="rfc.figure.u.23"></div><pre class="inline"><span id="rfc.iref.g.20"></span>  <a href="#range.retrieval.requests" class="smpl">Range</a> = <a href="#rule.ranges-specifier" class="smpl">byte-ranges-specifier</a> / <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a>
    906901  <a href="#range.retrieval.requests" class="smpl">other-ranges-specifier</a> = <a href="#range.units" class="smpl">other-range-unit</a> "=" <a href="#range.retrieval.requests" class="smpl">other-range-set</a>
    907902  <a href="#range.retrieval.requests" class="smpl">other-range-set</a> = 1*<a href="#notation" class="smpl">CHAR</a>
     
    12081203      <p id="rfc.section.B.1.p.1">Clarify that it is not ok to use a weak cache validator in a 206 response. (<a href="#status.206" id="rfc.xref.status.206.2" title="206 Partial Content">Section&nbsp;3.1</a>)
    12091204      </p>
    1210       <p id="rfc.section.B.1.p.2">Clarify that multipart/byteranges can consist of a single part. (<a href="#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix&nbsp;A</a>)
     1205      <p id="rfc.section.B.1.p.2">Change ABNF productions for header fields to only define the field value. (<a href="#header.fields" title="Header Field Definitions">Section&nbsp;5</a>)
     1206      </p>
     1207      <p id="rfc.section.B.1.p.3">Clarify that multipart/byteranges can consist of a single part. (<a href="#internet.media.type.multipart.byteranges" title="Internet Media Type multipart/byteranges">Appendix&nbsp;A</a>)
    12111208      </p>
    12121209      <h1 id="rfc.section.C"><a href="#rfc.section.C">C.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    1213       <div id="rfc.figure.u.26"></div> <pre class="inline"><a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = "Accept-Ranges:" OWS Accept-Ranges-v
    1214 <a href="#header.accept-ranges" class="smpl">Accept-Ranges-v</a> = acceptable-ranges
    1215 
    1216 <a href="#header.content-range" class="smpl">Content-Range</a> = "Content-Range:" OWS Content-Range-v
    1217 <a href="#header.content-range" class="smpl">Content-Range-v</a> = content-range-spec
     1210      <div id="rfc.figure.u.26"></div> <pre class="inline"><a href="#header.accept-ranges" class="smpl">Accept-Ranges</a> = acceptable-ranges
     1211
     1212<a href="#header.content-range" class="smpl">Content-Range</a> = content-range-spec
    12181213
    12191214<a href="#abnf.dependencies" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part1], Section 6.1&gt;
    12201215
    1221 <a href="#header.if-range" class="smpl">If-Range</a> = "If-Range:" OWS If-Range-v
    1222 <a href="#header.if-range" class="smpl">If-Range-v</a> = entity-tag / HTTP-date
     1216<a href="#header.if-range" class="smpl">If-Range</a> = entity-tag / HTTP-date
    12231217
    12241218<a href="#core.rules" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 1.2.2&gt;
    12251219
    1226 <a href="#range.retrieval.requests" class="smpl">Range</a> = "Range:" OWS Range-v
    1227 <a href="#range.retrieval.requests" class="smpl">Range-v</a> = byte-ranges-specifier / other-ranges-specifier
     1220<a href="#range.retrieval.requests" class="smpl">Range</a> = byte-ranges-specifier / other-ranges-specifier
    12281221
    12291222<a href="#header.accept-ranges" class="smpl">acceptable-ranges</a> = ( *( "," OWS ) range-unit *( OWS "," [ OWS
     
    13031296      </ul>
    13041297      <h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a>&nbsp;<a id="changes.since.03" href="#changes.since.03">Since draft-ietf-httpbis-p5-range-03</a></h2>
     1298      <p id="rfc.section.D.5.p.1">None.</p>
    13051299      <h2 id="rfc.section.D.6"><a href="#rfc.section.D.6">D.6</a>&nbsp;<a id="changes.since.04" href="#changes.since.04">Since draft-ietf-httpbis-p5-range-04</a></h2>
    13061300      <p id="rfc.section.D.6.p.1">Closed issues: </p>
     
    13811375      </ul>
    13821376      <h2 id="rfc.section.D.15"><a href="#rfc.section.D.15">D.15</a>&nbsp;<a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p5-range-13</a></h2>
    1383       <p id="rfc.section.D.15.p.1">None yet.</p>
     1377      <p id="rfc.section.D.15.p.1">Closed issues: </p>
     1378      <ul>
     1379         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/276">http://tools.ietf.org/wg/httpbis/trac/ticket/276</a>&gt;: "untangle ABNFs for header fields"
     1380         </li>
     1381      </ul>
    13841382      <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>
    13851383      <p class="noprint"><a href="#rfc.index.2">2</a> <a href="#rfc.index.4">4</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.I">I</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a>
     
    14071405                     <ul>
    14081406                        <li><tt>Accept-Ranges</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>5.1</b></a></li>
    1409                         <li><tt>Accept-Ranges-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>5.1</b></a></li>
    1410                         <li><tt>acceptable-ranges</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>5.1</b></a></li>
    1411                         <li><tt>byte-content-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>5.2</b></a></li>
    1412                         <li><tt>byte-range-resp-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>5.2</b></a></li>
    1413                         <li><tt>byte-range-set</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>5.4.1</b></a></li>
    1414                         <li><tt>byte-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>5.4.1</b></a></li>
    1415                         <li><tt>byte-ranges-specifier</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>5.4.1</b></a></li>
     1407                        <li><tt>acceptable-ranges</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>5.1</b></a></li>
     1408                        <li><tt>byte-content-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>5.2</b></a></li>
     1409                        <li><tt>byte-range-resp-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>5.2</b></a></li>
     1410                        <li><tt>byte-range-set</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>5.4.1</b></a></li>
     1411                        <li><tt>byte-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>5.4.1</b></a></li>
     1412                        <li><tt>byte-ranges-specifier</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>5.4.1</b></a></li>
    14161413                        <li><tt>bytes-unit</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>2</b></a></li>
    1417                         <li><tt>Content-Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>5.2</b></a></li>
    1418                         <li><tt>content-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>5.2</b></a></li>
    1419                         <li><tt>Content-Range-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>5.2</b></a></li>
    1420                         <li><tt>first-byte-pos</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>5.4.1</b></a></li>
    1421                         <li><tt>If-Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>5.3</b></a></li>
    1422                         <li><tt>If-Range-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>5.3</b></a></li>
    1423                         <li><tt>instance-length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>5.2</b></a></li>
    1424                         <li><tt>last-byte-pos</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>5.4.1</b></a></li>
     1414                        <li><tt>Content-Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>5.2</b></a></li>
     1415                        <li><tt>content-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>5.2</b></a></li>
     1416                        <li><tt>first-byte-pos</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.16"><b>5.4.1</b></a></li>
     1417                        <li><tt>If-Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>5.3</b></a></li>
     1418                        <li><tt>instance-length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>5.2</b></a></li>
     1419                        <li><tt>last-byte-pos</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.17"><b>5.4.1</b></a></li>
    14251420                        <li><tt>other-range-unit</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>2</b></a></li>
    1426                         <li><tt>Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.23"><b>5.4.2</b></a></li>
     1421                        <li><tt>Range</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.20"><b>5.4.2</b></a></li>
    14271422                        <li><tt>range-unit</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2</b></a></li>
    1428                         <li><tt>ranges-specifier</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>5.4.1</b></a></li>
    1429                         <li><tt>suffix-byte-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.21"><b>5.4.1</b></a></li>
    1430                         <li><tt>suffix-length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.22"><b>5.4.1</b></a></li>
     1423                        <li><tt>ranges-specifier</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>5.4.1</b></a></li>
     1424                        <li><tt>suffix-byte-range-spec</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.18"><b>5.4.1</b></a></li>
     1425                        <li><tt>suffix-length</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.19"><b>5.4.1</b></a></li>
    14311426                     </ul>
    14321427                  </li>
Note: See TracChangeset for help on using the changeset viewer.