Changeset 2368 for draft-ietf-httpbis


Ignore:
Timestamp:
04/09/13 06:22:16 (7 years ago)
Author:
julian.reschke@…
Message:

tune warn-date requirements (see #486)

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

Legend:

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

    r2279 r2368  
    231231warn-date = DQUOTE HTTP-date DQUOTE
    232232warn-text = quoted-string
    233 warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date ]
     233warning-value = warn-code SP warn-agent SP warn-text SP warn-date
    234234weak = %x57.2F ; W/
    235235
  • draft-ietf-httpbis/latest/p6-cache.html

    r2366 r2368  
    449449  }
    450450  @bottom-center {
    451        content: "Expires March 7, 2014";
     451       content: "Expires March 8, 2014";
    452452  }
    453453  @bottom-right {
     
    495495      <meta name="dct.creator" content="Reschke, J. F.">
    496496      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-latest">
    497       <meta name="dct.issued" scheme="ISO8601" content="2013-09-03">
     497      <meta name="dct.issued" scheme="ISO8601" content="2013-09-04">
    498498      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    499499      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypertext information systems. This document defines requirements on HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.">
     
    521521            </tr>
    522522            <tr>
    523                <td class="left">Expires: March 7, 2014</td>
     523               <td class="left">Expires: March 8, 2014</td>
    524524               <td class="right">J. Reschke, Editor</td>
    525525            </tr>
     
    530530            <tr>
    531531               <td class="left"></td>
    532                <td class="right">September 3, 2013</td>
     532               <td class="right">September 4, 2013</td>
    533533            </tr>
    534534         </tbody>
     
    556556         in progress”.
    557557      </p>
    558       <p>This Internet-Draft will expire on March 7, 2014.</p>
     558      <p>This Internet-Draft will expire on March 8, 2014.</p>
    559559      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1>
    560560      <p>Copyright © 2013 IETF Trust and the persons identified as the document authors. All rights reserved.</p>
     
    14221422 
    14231423  <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a>
    1424                                         [<a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>]
     1424                                          <a href="#imported.abnf" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-date</a>
    14251425 
    14261426  <a href="#header.warning" class="smpl">warn-code</a>  = 3<a href="#imported.abnf" class="smpl">DIGIT</a>
     
    14481448         </li>
    14491449      </ul>
    1450       <p id="rfc.section.7.5.p.9">If an implementation sends a message with one or more Warning header fields to a receiver whose version is HTTP/1.0 or lower,
    1451          then the sender <em class="bcp14">MUST</em> include in each warning-value a warn-date that matches the <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field in the message.
    1452       </p>
    1453       <p id="rfc.section.7.5.p.10">If a system receives a message with a warning-value that includes a warn-date, and that warn-date is different from the <a href="p2-semantics.html#header.date" class="smpl">Date</a> value in the response, then that warning-value <em class="bcp14">MUST</em> be deleted from the message before storing, forwarding, or using it (preventing the consequences of naive caching of Warning
    1454          header fields). If all of the warning-values are deleted for this reason, the Warning header field <em class="bcp14">MUST</em> be deleted as well.
    1455       </p>
    1456       <p id="rfc.section.7.5.p.11">The following warn-codes are defined by this specification, each with a recommended warn-text in English, and a description
     1450      <p id="rfc.section.7.5.p.9">HTTP/1.0 caches will cache all Warnings in responses, without deleting the ones in the first category. Thus, Warnings in responses
     1451         carry a warning-date field, which can help in detecting an erroneously cached Warning.
     1452      </p>
     1453      <p id="rfc.section.7.5.p.10">RFC 2616 made the Warning header field's warn-date component optional; it was only required to be sent when the recipient's
     1454         version was HTTP/1.0 or lower. However, deployment experience has shown that many intermediaries do not process the Warning
     1455         header field as required by RFC 2616. This results in situations where the field can appear in messages where it is not applicable,
     1456         because a warning-value has not been removed by an intermediary.
     1457      </p>
     1458      <p id="rfc.section.7.5.p.11">As a result, this specification shifts responsibility for processing of Warning from intermediaries to the recipient that
     1459         is actually consuming them.
     1460      </p>
     1461      <p id="rfc.section.7.5.p.12">Generators of Warning header fields <em class="bcp14">MUST</em> include in every warning-value a warn-date that matches the <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field in the message. Recipients that process a Warning header field <em class="bcp14">MUST</em> ignore (and <em class="bcp14">MAY</em> remove before forwarding) a warning-value whose warn-date is different from the Date value in the response.
     1462      </p>
     1463      <p id="rfc.section.7.5.p.13">The following warn-codes are defined by this specification, each with a recommended warn-text in English, and a description
    14571464         of its meaning.
    14581465      </p>
     
    18911898      <p id="rfc.section.A.p.17">Caches are now allow to calculate heuristic freshness for URLs with query components. (<a href="#heuristic.freshness" title="Calculating Heuristic Freshness">Section&nbsp;4.1.2</a>)
    18921899      </p>
    1893       <p id="rfc.section.A.p.18">Some requirements regarding production of the <a href="#header.warning" class="smpl">Warning</a> header fields have been relaxed, as it is not widely implemented. Furthermore, the <a href="#header.warning" class="smpl">Warning</a> header field no longer uses RFC 2047 encoding, nor allows multiple languages, as these aspects were not implemented. (<a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section&nbsp;7.5</a>)
     1900      <p id="rfc.section.A.p.18">Some requirements regarding production of the <a href="#header.warning" class="smpl">Warning</a> header fields have been relaxed, as it is not widely implemented. Furthermore, presence of the warn-date component has been
     1901         made required (dropping requirements specific to HTTP/1.0). Finally, the <a href="#header.warning" class="smpl">Warning</a> header field no longer uses RFC 2047 encoding, nor allows multiple languages, as these aspects were not implemented. (<a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section&nbsp;7.5</a>)
    18941902      </p>
    18951903      <p id="rfc.section.A.p.19">This specification introduces the Cache Directive and Warn Code Registries, and defines considerations for new cache directives.
     
    19551963<a href="#header.warning" class="smpl">warn-date</a> = DQUOTE HTTP-date DQUOTE
    19561964<a href="#header.warning" class="smpl">warn-text</a> = quoted-string
    1957 <a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date
    1958  ]
     1965<a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text SP warn-date
    19591966</pre><h1 id="rfc.section.D"><a href="#rfc.section.D">D.</a>&nbsp;<a id="change.log" href="#change.log">Change Log (to be removed by RFC Editor before publication)</a></h1>
    19601967      <p id="rfc.section.D.p.1">Changes up to the first Working Group Last Call draft are summarized in &lt;<a href="http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C">http://trac.tools.ietf.org/html/draft-ietf-httpbis-p6-cache-19#appendix-C</a>&gt;.
     
    20192026      </ul>
    20202027      <h2 id="rfc.section.D.5"><a href="#rfc.section.D.5">D.5</a>&nbsp;<a id="changes.since.23" href="#changes.since.23">Since draft-ietf-httpbis-p6-cache-23</a></h2>
    2021       <p id="rfc.section.D.5.p.1">None yet.</p>
     2028      <p id="rfc.section.D.5.p.1">Closed issues: </p>
     2029      <ul>
     2030         <li>&lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/486">http://tools.ietf.org/wg/httpbis/trac/ticket/486</a>&gt;: "Requiring proxies to process warn-date"
     2031         </li>
     2032      </ul>
    20222033      <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>
    20232034      <p class="noprint"><a href="#rfc.index.1">1</a> <a href="#rfc.index.2">2</a> <a href="#rfc.index.A">A</a> <a href="#rfc.index.B">B</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.W">W</a>
  • draft-ietf-httpbis/latest/p6-cache.xml

    r2366 r2368  
    16301630 
    16311631  <x:ref>warning-value</x:ref> = <x:ref>warn-code</x:ref> <x:ref>SP</x:ref> <x:ref>warn-agent</x:ref> <x:ref>SP</x:ref> <x:ref>warn-text</x:ref>
    1632                                         [<x:ref>SP</x:ref> <x:ref>warn-date</x:ref>]
     1632                                          <x:ref>SP</x:ref> <x:ref>warn-date</x:ref>
    16331633 
    16341634  <x:ref>warn-code</x:ref>  = 3<x:ref>DIGIT</x:ref>
     
    16691669</t>
    16701670<t>
    1671    If an implementation sends a message with one or more Warning header fields
    1672    to a receiver whose version is HTTP/1.0 or lower, then the sender &MUST;
    1673    include in each warning-value a warn-date that matches the
    1674    <x:ref>Date</x:ref> header field in the message.
    1675 </t>
    1676 <t>
    1677    If a system receives a message with a warning-value that includes a
    1678    warn-date, and that warn-date is different from the <x:ref>Date</x:ref>
    1679    value in the response, then that warning-value &MUST; be deleted from the
    1680    message before storing, forwarding, or using it (preventing the
    1681    consequences of naive caching of Warning header fields). If all of the
    1682    warning-values are deleted for this reason, the Warning header field &MUST;
    1683    be deleted as well.
     1671   HTTP/1.0 caches will cache all Warnings in responses, without deleting the
     1672   ones in the first category. Thus, Warnings in responses carry a warning-date
     1673   field, which can help in detecting an erroneously cached Warning.
     1674</t>
     1675<t>
     1676   RFC 2616 made the Warning header field's warn-date component optional; it
     1677   was only required to be sent when the recipient's version was HTTP/1.0 or lower.
     1678   However, deployment experience has shown that many intermediaries
     1679   do not process the Warning header field as required by RFC 2616. This results in
     1680   situations where the field can appear in messages where it is not applicable, because
     1681   a warning-value has not been removed by an intermediary.
     1682</t>
     1683<t>
     1684   As a result, this specification shifts responsibility for processing of Warning from
     1685   intermediaries to the recipient that is actually consuming them.
     1686</t>
     1687<t>
     1688   Generators of Warning header fields &MUST; include in every warning-value
     1689   a warn-date that matches the <x:ref>Date</x:ref> header field in the message. Recipients that
     1690   process a Warning header field &MUST; ignore (and &MAY; remove before forwarding)
     1691   a warning-value whose warn-date is different from the Date value in the response.
    16841692</t>
    16851693<t>
     
    24402448  Some requirements regarding production of the <x:ref>Warning</x:ref>
    24412449  header fields have been relaxed, as it is not widely implemented.
    2442   Furthermore, the <x:ref>Warning</x:ref> header field no longer uses RFC 2047 encoding,
     2450  Furthermore, presence of the warn-date component has been made required
     2451  (dropping requirements specific to HTTP/1.0). Finally, the
     2452  <x:ref>Warning</x:ref> header field no longer uses RFC 2047 encoding,
    24432453  nor allows multiple languages, as these aspects were not implemented.
    24442454  (<xref target="header.warning" />)
     
    25412551<x:ref>warn-date</x:ref> = DQUOTE HTTP-date DQUOTE
    25422552<x:ref>warn-text</x:ref> = quoted-string
    2543 <x:ref>warning-value</x:ref> = warn-code SP warn-agent SP warn-text [ SP warn-date
    2544  ]
     2553<x:ref>warning-value</x:ref> = warn-code SP warn-agent SP warn-text SP warn-date
    25452554</artwork>
    25462555</figure>
     
    26772686<section title="Since draft-ietf-httpbis-p6-cache-23" anchor="changes.since.23">
    26782687<t>
    2679    None yet.
     2688  Closed issues:
     2689  <list style="symbols">
     2690    <t>
     2691      <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/486"/>:
     2692      "Requiring proxies to process warn-date"
     2693    </t>
     2694  </list>
    26802695</t>
    26812696</section>
Note: See TracChangeset for help on using the changeset viewer.