* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Changeset 1284


Ignore:
Timestamp:
2011-05-19 19:28:25 (4 years ago)
Author:
mnot@pobox.com
Message:

Rewrite Pragma section; addresses #292

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

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p6-cache.html

    r1282 r1284  
    362362  }  
    363363  @bottom-center { 
    364        content: "Expires November 5, 2011";  
     364       content: "Expires November 21, 2011";  
    365365  }  
    366366  @bottom-right { 
     
    408408      <meta name="dct.creator" content="Reschke, J. F."> 
    409409      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-latest"> 
    410       <meta name="dct.issued" scheme="ISO8601" content="2011-05-04"> 
     410      <meta name="dct.issued" scheme="ISO8601" content="2011-05-20"> 
    411411      <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 
    412412      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This document is Part 6 of the seven-part specification that defines the protocol referred to as &#34;HTTP/1.1&#34; and, taken together, obsoletes RFC 2616. Part 6 defines requirements on HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages."> 
     
    434434            </tr> 
    435435            <tr> 
    436                <td class="left">Expires: November 5, 2011</td> 
     436               <td class="left">Expires: November 21, 2011</td> 
    437437               <td class="right">J. Mogul</td> 
    438438            </tr> 
     
    495495            <tr> 
    496496               <td class="left"></td> 
    497                <td class="right">May 4, 2011</td> 
     497               <td class="right">May 20, 2011</td> 
    498498            </tr> 
    499499         </tbody> 
     
    523523         in progress”. 
    524524      </p> 
    525       <p>This Internet-Draft will expire on November 5, 2011.</p> 
     525      <p>This Internet-Draft will expire on November 21, 2011.</p> 
    526526      <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 
    527527      <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p> 
     
    13051305      <div id="rfc.iref.h.5"></div> 
    13061306      <h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a>&nbsp;<a id="header.pragma" href="#header.pragma">Pragma</a></h2> 
    1307       <p id="rfc.section.3.4.p.1">The "Pragma" header field is used to include implementation-specific directives that might apply to any recipient along the 
    1308          request/response chain. All pragma directives specify optional behavior from the viewpoint of the protocol; however, some 
    1309          systems <em class="bcp14">MAY</em> require that behavior be consistent with the directives. 
     1307      <p id="rfc.section.3.4.p.1">The "Pragma" header field allows backwards compatibility with HTTP/1.0 caches, so that clients can specify a "no-cache" request 
     1308         that they will understand (as Cache-Control was not defined until HTTP/1.1). When the Cache-Control header is also present 
     1309         and understood in a request, Pragma is ignored. 
     1310      </p> 
     1311      <p id="rfc.section.3.4.p.2">In HTTP/1.0, Pragma was defined as an extensible field for implementation-specified directives for recipients. This specification 
     1312         deprecates such extensions to improve interoperability. 
    13101313      </p> 
    13111314      <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span>  <a href="#header.pragma" class="smpl">Pragma</a>           = 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 
    13121315  <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 
    13131316  <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ] 
    1314 </pre><p id="rfc.section.3.4.p.3">When the no-cache directive is present in a request message, a cache <em class="bcp14">SHOULD</em> forward the request toward the origin server even if it has a stored copy of what is being requested. This pragma directive 
    1315          has the same semantics as the no-cache request directive (see <a href="#cache-request-directive" title="Request Cache-Control Directives">Section&nbsp;3.2.1</a>) and is defined here for backward compatibility with HTTP/1.0. A client <em class="bcp14">SHOULD</em> include both header fields when a no-cache request is sent to a server not known to be HTTP/1.1 compliant. A cache <em class="bcp14">SHOULD</em> treat "Pragma: no-cache" as if the client had sent "Cache-Control: no-cache". 
    1316       </p> 
    1317       <div class="note" id="rfc.section.3.4.p.4">  
    1318          <p> <b>Note:</b> Because the meaning of "Pragma: no-cache" as a header field is not actually specified, it does not provide a reliable replacement 
    1319             for "Cache-Control: no-cache" in a response. 
     1317</pre><p id="rfc.section.3.4.p.4">When the Cache-Control header is not present in a request, the no-cache request pragma-directive <em class="bcp14">MUST</em> have the same effect on caches as if "Cache-Control: no-cache" were present (see <a href="#cache-request-directive" title="Request Cache-Control Directives">Section&nbsp;3.2.1</a>). 
     1318      </p> 
     1319      <p id="rfc.section.3.4.p.5">When sending a no-cache request, a client <em class="bcp14">SHOULD</em> include both pragma and cache-control directives unless Cache-Control: no-cache is purposefully omitted to target other Cache-Control 
     1320         response directives at HTTP/1.1 caches. For example: 
     1321      </p> 
     1322      <div id="rfc.figure.u.16"></div> <pre class="text">GET / HTTP/1.1 
     1323Host: www.example.com 
     1324Cache-Control: max-age=30 
     1325Pragma: no-cache 
     1326</pre> <p id="rfc.section.3.4.p.7">will constrain HTTP/1.1 caches to serve a response no older than 30 seconds, while precluding implementations that do not 
     1327         understand Cache-Control from serving a cached response. 
     1328      </p> 
     1329      <div class="note" id="rfc.section.3.4.p.8">  
     1330         <p>Note: Because the meaning of "Pragma: no-cache" in responses is not specified, it does not provide a reliable replacement 
     1331            for "Cache-Control: no-cache" in them. 
    13201332         </p>  
    13211333      </div> 
    1322       <p id="rfc.section.3.4.p.5">This mechanism is deprecated; no new Pragma directives will be defined in HTTP.</p> 
    13231334      <div id="rfc.iref.v.2"></div> 
    13241335      <div id="rfc.iref.h.6"></div> 
     
    13311342         the representation. 
    13321343      </p> 
    1333       <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> 
     1344      <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.11"></span>  <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> 
    13341345</pre><p id="rfc.section.3.5.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p> 
    13351346      <p id="rfc.section.3.5.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to server-driven negotiation. Doing so allows a cache 
     
    13581369         be applied to response messages. 
    13591370      </p> 
    1360       <div id="rfc.figure.u.17"></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="#header.warning" class="smpl">Warning</a>       = 1#<a href="#header.warning" class="smpl">warning-value</a> 
     1371      <div id="rfc.figure.u.18"></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="#header.warning" class="smpl">Warning</a>       = 1#<a href="#header.warning" class="smpl">warning-value</a> 
    13611372   
    13621373  <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a> 
     
    17091720      </p> 
    17101721      <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a>&nbsp;<a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 
    1711       <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 
     1722      <div id="rfc.figure.u.19"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 
    17121723 
    17131724<a href="#header.cache-control" class="smpl">Cache-Control</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS 
     
    17641775<a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date 
    17651776 ] 
    1766 </pre> <div id="rfc.figure.u.19"></div> 
     1777</pre> <div id="rfc.figure.u.20"></div> 
    17671778      <p>ABNF diagnostics:</p><pre class="inline">; Age defined but not used 
    17681779; Cache-Control defined but not used 
     
    19491960      </ul> 
    19501961      <h2 id="rfc.section.C.16"><a href="#rfc.section.C.16">C.16</a>&nbsp;<a id="changes.since.14" href="#changes.since.14">Since draft-ietf-httpbis-p6-cache-14</a></h2> 
    1951       <p id="rfc.section.C.16.p.1">None yet.</p> 
     1962      <p id="rfc.section.C.16.p.1">Closed issues: </p> 
     1963      <ul> 
     1964         <li> &lt;<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/292">http://tools.ietf.org/wg/httpbis/trac/ticket/292</a>&gt;: "Pragma" 
     1965         </li> 
     1966      </ul> 
    19521967      <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 
    19531968      <p class="noprint"><a href="#rfc.index.A">A</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

    r1281 r1284  
    15021502   <x:anchor-alias value="pragma-directive"/> 
    15031503<t> 
    1504    The "Pragma" header field is used to include 
    1505    implementation-specific directives that might apply to any recipient along 
    1506    the request/response chain. All pragma directives specify optional behavior 
    1507    from the viewpoint of the protocol; however, some systems &MAY; require 
    1508    that behavior be consistent with the directives. 
     1504         The "Pragma" header field allows backwards compatibility with HTTP/1.0 
     1505   caches, so that clients can specify a "no-cache" request that they will 
     1506   understand (as Cache-Control was not defined until HTTP/1.1). When the 
     1507   Cache-Control header is also present and understood in a request, Pragma is 
     1508   ignored. 
     1509</t> 
     1510<t> 
     1511         In HTTP/1.0, Pragma was defined as an extensible field for 
     1512   implementation-specified directives for recipients. This specification 
     1513   deprecates such extensions to improve interoperability. 
    15091514</t> 
    15101515<figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Pragma"/><iref primary="true" item="Grammar" subitem="pragma-directive"/><iref primary="true" item="Grammar" subitem="extension-pragma"/> 
     
    15141519</artwork></figure> 
    15151520<t> 
    1516    When the no-cache directive is present in a request message, a cache 
    1517    &SHOULD; forward the request toward the origin server even if it has a 
    1518    stored copy of what is being requested. This pragma directive has the same 
    1519    semantics as the no-cache request directive (see <xref 
    1520    target="cache-request-directive" />) and is defined here for backward 
    1521    compatibility with HTTP/1.0. A client &SHOULD; include both header fields 
    1522    when a no-cache request is sent to a server not known to be HTTP/1.1 
    1523    compliant. A cache &SHOULD; treat "Pragma: no-cache" as if the 
    1524    client had sent "Cache-Control: no-cache". 
     1521         When the Cache-Control header is not present in a request, the no-cache 
     1522   request pragma-directive &MUST; have the same effect on caches as if 
     1523   "Cache-Control: no-cache" were present (see <xref 
     1524   target="cache-request-directive" />). 
     1525</t> 
     1526<t> 
     1527   When sending a no-cache request, a client &SHOULD; include both pragma and 
     1528   cache-control directives unless Cache-Control: no-cache is purposefully 
     1529   omitted to target other Cache-Control response directives at HTTP/1.1 
     1530   caches. For example: 
     1531</t> 
     1532<figure> 
     1533<artwork type="code"> 
     1534GET / HTTP/1.1 
     1535Host: www.example.com 
     1536Cache-Control: max-age=30 
     1537Pragma: no-cache 
     1538</artwork> 
     1539</figure> 
     1540<t> 
     1541   will constrain HTTP/1.1 caches to serve a response no older than 30 
     1542   seconds, while precluding implementations that do not understand 
     1543   Cache-Control from serving a cached response. 
    15251544</t> 
    15261545<x:note> 
    15271546   <t> 
    1528       <x:h>Note:</x:h> Because the meaning of "Pragma: no-cache" as a 
    1529       header field is not actually specified, it does not provide a 
    1530       reliable replacement for "Cache-Control: no-cache" in a response. 
    1531   </t> 
     1547      Note: Because the meaning of "Pragma: no-cache" in responses is not 
     1548      specified, it does not provide a reliable replacement for 
     1549      "Cache-Control: no-cache" in them. 
     1550        </t> 
    15321551</x:note> 
    1533 <t> 
    1534    This mechanism is deprecated; no new Pragma directives will be defined in 
    1535    HTTP. 
    1536 </t> 
    15371552</section> 
    15381553 
     
    26842699<section title="Since draft-ietf-httpbis-p6-cache-14" anchor="changes.since.14"> 
    26852700<t> 
    2686   None yet. 
     2701  Closed issues: 
     2702        <list style="symbols"> 
     2703                <t> 
     2704                        <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/292"/>: 
     2705                        "Pragma" 
     2706                </t> 
     2707        </list> 
    26872708</t> 
    26882709</section> 
Note: See TracChangeset for help on using the changeset viewer.