Changeset 1284 for draft-ietf-httpbis
- Timestamp:
- 20/05/11 02:28:25 (10 years ago)
- Location:
- draft-ietf-httpbis/latest
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.html
r1282 r1284 362 362 } 363 363 @bottom-center { 364 content: "Expires November 5, 2011";364 content: "Expires November 21, 2011"; 365 365 } 366 366 @bottom-right { … … 408 408 <meta name="dct.creator" content="Reschke, J. F."> 409 409 <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"> 411 411 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 412 412 <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 "HTTP/1.1" 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."> … … 434 434 </tr> 435 435 <tr> 436 <td class="left">Expires: November 5, 2011</td>436 <td class="left">Expires: November 21, 2011</td> 437 437 <td class="right">J. Mogul</td> 438 438 </tr> … … 495 495 <tr> 496 496 <td class="left"></td> 497 <td class="right">May 4, 2011</td>497 <td class="right">May 20, 2011</td> 498 498 </tr> 499 499 </tbody> … … 523 523 in progress”. 524 524 </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> 526 526 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 527 527 <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 1305 1305 <div id="rfc.iref.h.5"></div> 1306 1306 <h2 id="rfc.section.3.4"><a href="#rfc.section.3.4">3.4</a> <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. 1310 1313 </p> 1311 1314 <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> 1312 1315 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 1313 1316 <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 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 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 1323 Host: www.example.com 1324 Cache-Control: max-age=30 1325 Pragma: 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. 1320 1332 </p> 1321 1333 </div> 1322 <p id="rfc.section.3.4.p.5">This mechanism is deprecated; no new Pragma directives will be defined in HTTP.</p>1323 1334 <div id="rfc.iref.v.2"></div> 1324 1335 <div id="rfc.iref.h.6"></div> … … 1331 1342 the representation. 1332 1343 </p> 1333 <div id="rfc.figure.u.1 6"></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> 1334 1345 </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> 1335 1346 <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 … … 1358 1369 be applied to response messages. 1359 1370 </p> 1360 <div id="rfc.figure.u.1 7"></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> 1361 1372 1362 1373 <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> … … 1709 1720 </p> 1710 1721 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1711 <div id="rfc.figure.u.1 8"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds1722 <div id="rfc.figure.u.19"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 1712 1723 1713 1724 <a href="#header.cache-control" class="smpl">Cache-Control</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS … … 1764 1775 <a href="#header.warning" class="smpl">warning-value</a> = warn-code SP warn-agent SP warn-text [ SP warn-date 1765 1776 ] 1766 </pre> <div id="rfc.figure.u. 19"></div>1777 </pre> <div id="rfc.figure.u.20"></div> 1767 1778 <p>ABNF diagnostics:</p><pre class="inline">; Age defined but not used 1768 1779 ; Cache-Control defined but not used … … 1949 1960 </ul> 1950 1961 <h2 id="rfc.section.C.16"><a href="#rfc.section.C.16">C.16</a> <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> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/292">http://tools.ietf.org/wg/httpbis/trac/ticket/292</a>>: "Pragma" 1965 </li> 1966 </ul> 1952 1967 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1953 1968 <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 1502 1502 <x:anchor-alias value="pragma-directive"/> 1503 1503 <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. 1509 1514 </t> 1510 1515 <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"/> … … 1514 1519 </artwork></figure> 1515 1520 <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"> 1534 GET / HTTP/1.1 1535 Host: www.example.com 1536 Cache-Control: max-age=30 1537 Pragma: 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. 1525 1544 </t> 1526 1545 <x:note> 1527 1546 <t> 1528 <x:h>Note:</x:h> Because the meaning of "Pragma: no-cache" as a1529 header field is not actually specified, it does not provide a1530 reliable replacement for "Cache-Control: no-cache" in a response.1531 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> 1532 1551 </x:note> 1533 <t>1534 This mechanism is deprecated; no new Pragma directives will be defined in1535 HTTP.1536 </t>1537 1552 </section> 1538 1553 … … 2684 2699 <section title="Since draft-ietf-httpbis-p6-cache-14" anchor="changes.since.14"> 2685 2700 <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> 2687 2708 </t> 2688 2709 </section>
Note: See TracChangeset
for help on using the changeset viewer.