Changeset 1233


Ignore:
Timestamp:
Mar 30, 2011, 12:07:10 AM (9 years ago)
Author:
julian.reschke@…
Message:

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

Location:
draft-ietf-httpbis/latest
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/httpbis.abnf

    r1232 r1233  
    3636Date = "Date:" OWS Date-v
    3737Date-v = HTTP-date
    38 ETag = "ETag:" OWS ETag-v
    39 ETag-v = entity-tag
     38ETag = entity-tag
    4039Expect = "Expect:" OWS Expect-v
    4140Expect-v = *( "," OWS ) expectation *( OWS "," [ OWS expectation ] )
     
    5251Host = "Host:" OWS Host-v
    5352Host-v = uri-host [ ":" port ]
    54 If-Match = "If-Match:" OWS If-Match-v
    55 If-Match-v = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS entity-tag ] ) )
    56 If-Modified-Since = "If-Modified-Since:" OWS If-Modified-Since-v
    57 If-Modified-Since-v = HTTP-date
    58 If-None-Match = "If-None-Match:" OWS If-None-Match-v
    59 If-None-Match-v = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS entity-tag ] ) )
     53If-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS entity-tag ] ) )
     54If-Modified-Since = HTTP-date
     55If-None-Match = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS entity-tag ] ) )
    6056If-Range = entity-tag / HTTP-date
    61 If-Unmodified-Since = "If-Unmodified-Since:" OWS If-Unmodified-Since-v
    62 If-Unmodified-Since-v = HTTP-date
    63 Last-Modified = "Last-Modified:" OWS Last-Modified-v
    64 Last-Modified-v = HTTP-date
     57If-Unmodified-Since = HTTP-date
     58Last-Modified = HTTP-date
    6559Location = "Location:" OWS Location-v
    6660Location-v = URI-reference
  • draft-ietf-httpbis/latest/p4-conditional.html

    r1226 r1233  
    359359  }
    360360  @bottom-center {
    361        content: "Expires September 29, 2011";
     361       content: "Expires October 1, 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-p4-conditional-latest">
    408       <meta name="dct.issued" scheme="ISO8601" content="2011-03-28">
     408      <meta name="dct.issued" scheme="ISO8601" content="2011-03-30">
    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 4 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 4 defines request header fields for indicating conditional requests and the rules for constructing responses to those requests.">
     
    432432            </tr>
    433433            <tr>
    434                <td class="left">Expires: September 29, 2011</td>
     434               <td class="left">Expires: October 1, 2011</td>
    435435               <td class="right">J. Mogul</td>
    436436            </tr>
     
    489489            <tr>
    490490               <td class="left"></td>
    491                <td class="right">March 28, 2011</td>
     491               <td class="right">March 30, 2011</td>
    492492            </tr>
    493493         </tbody>
     
    515515         in progress”.
    516516      </p>
    517       <p>This Internet-Draft will expire on September 29, 2011.</p>
     517      <p>This Internet-Draft will expire on October 1, 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>
     
    910910         between representations of the same resource that vary over time or via content negotiation (see <a href="#weak.and.strong.validators" title="Weak and Strong Validators">Section&nbsp;4</a>).
    911911      </p>
    912       <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span>  <a href="#header.etag" class="smpl">ETag</a>   = "ETag" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.etag" class="smpl">ETag-v</a>
    913   <a href="#header.etag" class="smpl">ETag-v</a> = <a href="#entity.tags" class="smpl">entity-tag</a>
     912      <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.4"></span>  <a href="#header.etag" class="smpl">ETag</a> = <a href="#entity.tags" class="smpl">entity-tag</a>
    914913</pre><div id="rfc.figure.u.8"></div>
    915914      <p>Examples:</p>  <pre class="text">  ETag: "xyzzy"
     
    933932         An If-Match field-value of "*" places the precondition on the existence of any current representation for the target resource.
    934933      </p>
    935       <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.6"></span><span id="rfc.iref.g.7"></span>  <a href="#header.if-match" class="smpl">If-Match</a>   = "If-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-match" class="smpl">If-Match-v</a>
    936   <a href="#header.if-match" class="smpl">If-Match-v</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a>
     934      <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.5"></span>  <a href="#header.if-match" class="smpl">If-Match</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a>
    937935</pre><p id="rfc.section.6.2.p.3">If any of the entity-tags listed in the If-Match field value match the entity-tag of the selected representation for the target
    938936         resource, or if "*" is given and any current representation exists for the target resource, then the server <em class="bcp14">MAY</em> perform the request method as if the If-Match header field was not present.
     
    956954         the time specified in this field, then do not perform the request method; instead, respond as detailed below.
    957955      </p>
    958       <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a>   = "If-Modified-Since" ":" <a href="#core.rules" class="smpl">OWS</a>
    959                         <a href="#header.if-modified-since" class="smpl">If-Modified-Since-v</a>
    960   <a href="#header.if-modified-since" class="smpl">If-Modified-Since-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     956      <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.6"></span>  <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
    961957</pre><p id="rfc.section.6.3.p.3">An example of the field is:</p>
    962958      <div id="rfc.figure.u.12"></div><pre class="text">  If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     
    10131009         for the target resource.
    10141010      </p>
    1015       <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.10"></span><span id="rfc.iref.g.11"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a>   = "If-None-Match" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.if-none-match" class="smpl">If-None-Match-v</a>
    1016   <a href="#header.if-none-match" class="smpl">If-None-Match-v</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a>
     1011      <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.7"></span>  <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / 1#<a href="#entity.tags" class="smpl">entity-tag</a>
    10171012</pre><p id="rfc.section.6.4.p.4">If any of the entity-tags listed in the If-None-Match field-value match the entity-tag of the selected representation, or
    10181013         if "*" is given and any current representation exists for that resource, then the server <em class="bcp14">MUST NOT</em> perform the requested method. Instead, if the request method was GET or HEAD, the server <em class="bcp14">SHOULD</em> respond with a 304 (Not Modified) status code, including the cache-related header fields (particularly ETag) of the selected
     
    10401035         the time specified in this field, the server <em class="bcp14">SHOULD</em> perform the request method as if the If-Unmodified-Since header field were not present.
    10411036      </p>
    1042       <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a>   = "If-Unmodified-Since" ":" <a href="#core.rules" class="smpl">OWS</a>
    1043                           <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since-v</a>
    1044   <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     1037      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.8"></span>  <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
    10451038</pre><p id="rfc.section.6.5.p.3">An example of the field is:</p>
    10461039      <div id="rfc.figure.u.16"></div><pre class="text">  If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
     
    10591052         modified.
    10601053      </p>
    1061       <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a>   = "Last-Modified" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.last-modified" class="smpl">Last-Modified-v</a>
    1062   <a href="#header.last-modified" class="smpl">Last-Modified-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
     1054      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.9"></span>  <a href="#header.last-modified" class="smpl">Last-Modified</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a>
    10631055</pre><p id="rfc.section.6.6.p.3">An example of its use is</p>
    10641056      <div id="rfc.figure.u.18"></div><pre class="text">  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
     
    12461238      <p id="rfc.section.A.p.1">Allow weak entity-tags in all requests except range requests (Sections <a href="#weak.and.strong.validators" title="Weak and Strong Validators">4</a> and <a href="#header.if-none-match" id="rfc.xref.header.if-none-match.3" title="If-None-Match">6.4</a>).
    12471239      </p>
     1240      <p id="rfc.section.A.p.2">Change ABNF productions for header fields to only define the field value. (<a href="#header.fields" title="Header Field Definitions">Section&nbsp;6</a>)
     1241      </p>
    12481242      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1>
    1249       <div id="rfc.figure.u.19"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = "ETag:" OWS ETag-v
    1250 <a href="#header.etag" class="smpl">ETag-v</a> = entity-tag
     1243      <div id="rfc.figure.u.19"></div> <pre class="inline"><a href="#header.etag" class="smpl">ETag</a> = entity-tag
    12511244
    12521245<a href="#abnf.dependencies" class="smpl">HTTP-date</a> = &lt;HTTP-date, defined in [Part1], Section 6.1&gt;
    12531246
    1254 <a href="#header.if-match" class="smpl">If-Match</a> = "If-Match:" OWS If-Match-v
    1255 <a href="#header.if-match" class="smpl">If-Match-v</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     1247<a href="#header.if-match" class="smpl">If-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
    12561248 entity-tag ] ) )
    1257 <a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = "If-Modified-Since:" OWS If-Modified-Since-v
    1258 <a href="#header.if-modified-since" class="smpl">If-Modified-Since-v</a> = HTTP-date
    1259 <a href="#header.if-none-match" class="smpl">If-None-Match</a> = "If-None-Match:" OWS If-None-Match-v
    1260 <a href="#header.if-none-match" class="smpl">If-None-Match-v</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     1249<a href="#header.if-modified-since" class="smpl">If-Modified-Since</a> = HTTP-date
     1250<a href="#header.if-none-match" class="smpl">If-None-Match</a> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
    12611251 entity-tag ] ) )
    1262 <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = "If-Unmodified-Since:" OWS
    1263  If-Unmodified-Since-v
    1264 <a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since-v</a> = HTTP-date
    1265 
    1266 <a href="#header.last-modified" class="smpl">Last-Modified</a> = "Last-Modified:" OWS Last-Modified-v
    1267 <a href="#header.last-modified" class="smpl">Last-Modified-v</a> = HTTP-date
     1252<a href="#header.if-unmodified-since" class="smpl">If-Unmodified-Since</a> = HTTP-date
     1253
     1254<a href="#header.last-modified" class="smpl">Last-Modified</a> = HTTP-date
    12681255
    12691256<a href="#core.rules" class="smpl">OWS</a> = &lt;OWS, defined in [Part1], Section 1.2.2&gt;
     
    13811368      <ul>
    13821369         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/89">http://tools.ietf.org/wg/httpbis/trac/ticket/89</a>&gt;: "If-* and entities"
     1370         </li>
     1371         <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"
    13831372         </li>
    13841373      </ul>
     
    14051394                        <li><tt>entity-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.1"><b>2</b></a></li>
    14061395                        <li><tt>ETag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.4"><b>6.1</b></a></li>
    1407                         <li><tt>ETag-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>6.1</b></a></li>
    1408                         <li><tt>If-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>6.2</b></a></li>
    1409                         <li><tt>If-Match-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>6.2</b></a></li>
    1410                         <li><tt>If-Modified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>6.3</b></a></li>
    1411                         <li><tt>If-Modified-Since-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>6.3</b></a></li>
    1412                         <li><tt>If-None-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.10"><b>6.4</b></a></li>
    1413                         <li><tt>If-None-Match-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.11"><b>6.4</b></a></li>
    1414                         <li><tt>If-Unmodified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.12"><b>6.5</b></a></li>
    1415                         <li><tt>If-Unmodified-Since-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.13"><b>6.5</b></a></li>
    1416                         <li><tt>Last-Modified</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.14"><b>6.6</b></a></li>
    1417                         <li><tt>Last-Modified-v</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.15"><b>6.6</b></a></li>
     1396                        <li><tt>If-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.5"><b>6.2</b></a></li>
     1397                        <li><tt>If-Modified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.6"><b>6.3</b></a></li>
     1398                        <li><tt>If-None-Match</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.7"><b>6.4</b></a></li>
     1399                        <li><tt>If-Unmodified-Since</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.8"><b>6.5</b></a></li>
     1400                        <li><tt>Last-Modified</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.9"><b>6.6</b></a></li>
    14181401                        <li><tt>opaque-tag</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.3"><b>2</b></a></li>
    14191402                        <li><tt>weak</tt>&nbsp;&nbsp;<a href="#rfc.iref.g.2"><b>2</b></a></li>
  • draft-ietf-httpbis/latest/p4-conditional.xml

    r1225 r1233  
    735735  <iref primary="true" item="Header Fields" subitem="ETag" x:for-anchor=""/>
    736736  <x:anchor-alias value="ETag"/>
    737   <x:anchor-alias value="ETag-v"/>
    738737<t>
    739738   The "ETag" header field provides the current value of the
     
    744743   content negotiation (see <xref target="weak.and.strong.validators"/>).
    745744</t>
    746 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ETag"/><iref primary="true" item="Grammar" subitem="ETag-v"/>
    747   <x:ref>ETag</x:ref>   = "ETag" ":" <x:ref>OWS</x:ref> <x:ref>ETag-v</x:ref>
    748   <x:ref>ETag-v</x:ref> = <x:ref>entity-tag</x:ref>
     745<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="ETag"/>
     746  <x:ref>ETag</x:ref> = <x:ref>entity-tag</x:ref>
    749747</artwork></figure>
    750748<figure><preamble>
     
    779777  <iref primary="true" item="Header Fields" subitem="If-Match" x:for-anchor=""/>
    780778  <x:anchor-alias value="If-Match"/>
    781   <x:anchor-alias value="If-Match-v"/>
    782779<t>
    783780   The "If-Match" header field &MAY; be used to make a request method
     
    791788   target resource.
    792789</t>
    793 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Match"/><iref primary="true" item="Grammar" subitem="If-Match-v"/>
    794   <x:ref>If-Match</x:ref>   = "If-Match" ":" <x:ref>OWS</x:ref> <x:ref>If-Match-v</x:ref>
    795   <x:ref>If-Match-v</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref>
     790<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Match"/>
     791  <x:ref>If-Match</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref>
    796792</artwork></figure>
    797793<t>
     
    832828  <iref primary="true" item="Header Fields" subitem="If-Modified-Since" x:for-anchor=""/>
    833829  <x:anchor-alias value="If-Modified-Since"/>
    834   <x:anchor-alias value="If-Modified-Since-v"/>
    835830<t>
    836831   The "If-Modified-Since" header field &MAY; be used to make a request
     
    839834   do not perform the request method; instead, respond as detailed below.
    840835</t>
    841 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Modified-Since"/><iref primary="true" item="Grammar" subitem="If-Modified-Since-v"/>
    842   <x:ref>If-Modified-Since</x:ref>   = "If-Modified-Since" ":" <x:ref>OWS</x:ref>
    843                         <x:ref>If-Modified-Since-v</x:ref>
    844   <x:ref>If-Modified-Since-v</x:ref> = <x:ref>HTTP-date</x:ref>
     836<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Modified-Since"/>
     837  <x:ref>If-Modified-Since</x:ref> = <x:ref>HTTP-date</x:ref>
    845838</artwork></figure>
    846839<t>
     
    918911  <iref primary="true" item="Header Fields" subitem="If-None-Match" x:for-anchor=""/>
    919912  <x:anchor-alias value="If-None-Match"/>
    920   <x:anchor-alias value="If-None-Match-v"/>
    921913<t>
    922914   The "If-None-Match" header field &MAY; be used to make a request method
     
    938930   attempts to create an initial representation for the target resource.
    939931</t>
    940 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-None-Match"/><iref primary="true" item="Grammar" subitem="If-None-Match-v"/>
    941   <x:ref>If-None-Match</x:ref>   = "If-None-Match" ":" <x:ref>OWS</x:ref> <x:ref>If-None-Match-v</x:ref>
    942   <x:ref>If-None-Match-v</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref>
     932<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-None-Match"/>
     933  <x:ref>If-None-Match</x:ref> = "*" / 1#<x:ref>entity-tag</x:ref>
    943934</artwork></figure>
    944935<t>
     
    989980  <iref primary="true" item="Header Fields" subitem="If-Unmodified-Since" x:for-anchor=""/>
    990981  <x:anchor-alias value="If-Unmodified-Since"/>
    991   <x:anchor-alias value="If-Unmodified-Since-v"/>
    992982<t>
    993983   The "If-Unmodified-Since" header field &MAY; be used to make a request
     
    1000990   method as if the If-Unmodified-Since header field were not present.
    1001991</t>
    1002 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Unmodified-Since"/><iref primary="true" item="Grammar" subitem="If-Unmodified-Since-v"/>
    1003   <x:ref>If-Unmodified-Since</x:ref>   = "If-Unmodified-Since" ":" <x:ref>OWS</x:ref>
    1004                           <x:ref>If-Unmodified-Since-v</x:ref>
    1005   <x:ref>If-Unmodified-Since-v</x:ref> = <x:ref>HTTP-date</x:ref>
     992<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="If-Unmodified-Since"/>
     993  <x:ref>If-Unmodified-Since</x:ref> = <x:ref>HTTP-date</x:ref>
    1006994</artwork></figure>
    1007995<t>
     
    10301018  <iref primary="true" item="Header Fields" subitem="Last-Modified" x:for-anchor=""/>
    10311019  <x:anchor-alias value="Last-Modified"/>
    1032   <x:anchor-alias value="Last-Modified-v"/>
    10331020<t>
    10341021   The "Last-Modified" header field indicates the date and time at
    10351022   which the origin server believes the representation was last modified.
    10361023</t>
    1037 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Last-Modified"/><iref primary="true" item="Grammar" subitem="Last-Modified-v"/>
    1038   <x:ref>Last-Modified</x:ref>   = "Last-Modified" ":" <x:ref>OWS</x:ref> <x:ref>Last-Modified-v</x:ref>
    1039   <x:ref>Last-Modified-v</x:ref> = <x:ref>HTTP-date</x:ref>
     1024<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Last-Modified"/>
     1025  <x:ref>Last-Modified</x:ref> = <x:ref>HTTP-date</x:ref>
    10401026</artwork></figure>
    10411027<t>
     
    14671453  <xref target="header.if-none-match" format="counter"/>).
    14681454</t>
     1455<t>
     1456  Change ABNF productions for header fields to only define the field value.
     1457  (<xref target="header.fields"/>)
     1458</t>
    14691459</section>
    14701460
     
    14731463<figure>
    14741464<artwork type="abnf" name="p4-conditional.parsed-abnf">
    1475 <x:ref>ETag</x:ref> = "ETag:" OWS ETag-v
    1476 <x:ref>ETag-v</x:ref> = entity-tag
     1465<x:ref>ETag</x:ref> = entity-tag
    14771466
    14781467<x:ref>HTTP-date</x:ref> = &lt;HTTP-date, defined in [Part1], Section 6.1&gt;
    14791468
    1480 <x:ref>If-Match</x:ref> = "If-Match:" OWS If-Match-v
    1481 <x:ref>If-Match-v</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     1469<x:ref>If-Match</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
    14821470 entity-tag ] ) )
    1483 <x:ref>If-Modified-Since</x:ref> = "If-Modified-Since:" OWS If-Modified-Since-v
    1484 <x:ref>If-Modified-Since-v</x:ref> = HTTP-date
    1485 <x:ref>If-None-Match</x:ref> = "If-None-Match:" OWS If-None-Match-v
    1486 <x:ref>If-None-Match-v</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
     1471<x:ref>If-Modified-Since</x:ref> = HTTP-date
     1472<x:ref>If-None-Match</x:ref> = "*" / ( *( "," OWS ) entity-tag *( OWS "," [ OWS
    14871473 entity-tag ] ) )
    1488 <x:ref>If-Unmodified-Since</x:ref> = "If-Unmodified-Since:" OWS
    1489  If-Unmodified-Since-v
    1490 <x:ref>If-Unmodified-Since-v</x:ref> = HTTP-date
    1491 
    1492 <x:ref>Last-Modified</x:ref> = "Last-Modified:" OWS Last-Modified-v
    1493 <x:ref>Last-Modified-v</x:ref> = HTTP-date
     1474<x:ref>If-Unmodified-Since</x:ref> = HTTP-date
     1475
     1476<x:ref>Last-Modified</x:ref> = HTTP-date
    14941477
    14951478<x:ref>OWS</x:ref> = &lt;OWS, defined in [Part1], Section 1.2.2&gt;
     
    17111694      "If-* and entities"
    17121695    </t>
     1696    <t>
     1697      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/276"/>:
     1698      "untangle ABNFs for header fields"
     1699    </t>
    17131700  </list>
    17141701</t>
Note: See TracChangeset for help on using the changeset viewer.