Changeset 1099 for draft-ietf-httpbis/02/p6-cache.html
- Timestamp:
- 01/01/11 17:23:02 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/02/p6-cache.html
r231 r1099 2 2 PUBLIC "-//W3C//DTD HTML 4.01//EN"> 3 3 <html lang="en"> 4 <head profile="http://www.w3.org/2006/03/hcard ">4 <head profile="http://www.w3.org/2006/03/hcard http://dublincore.org/documents/2008/08/04/dc-html/"> 5 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 6 <title>HTTP/1.1, part 6: Caching</title><style type="text/css" title="Xml2Rfc (sans serif)"> … … 37 37 } 38 38 39 dl.empty dd { 39 ul.empty { 40 list-style-type: none; 41 } 42 ul.empty li { 40 43 margin-top: .5em; 41 44 } … … 62 65 page-break-after: avoid; 63 66 } 64 h2 a { 65 color: black; 66 } 67 h3 { 67 h3, h4, h5, h6 { 68 68 font-size: 10pt; 69 69 page-break-after: avoid; 70 70 } 71 h3 a { 72 color: black; 73 } 74 h4 { 75 font-size: 10pt; 76 page-break-after: avoid; 77 } 78 h4 a { 79 color: black; 80 } 81 h5 { 82 font-size: 10pt; 83 page-break-after: avoid; 84 } 85 h5 a { 71 h2 a, h3 a, h4 a, h5 a, h6 a { 86 72 color: black; 87 73 } … … 135 121 } 136 122 table.header { 123 border-spacing: 1px; 137 124 width: 95%; 138 125 font-size: 10pt; … … 146 133 white-space: nowrap; 147 134 } 148 t d.header{135 table.header td { 149 136 background-color: gray; 150 137 width: 50%; 151 138 } 152 t d.header a {139 table.header a { 153 140 color: white; 154 141 } … … 161 148 display:table-header-group; 162 149 } 163 ul.toc {150 ul.toc, ul.toc ul { 164 151 list-style: none; 165 152 margin-left: 1.5em; … … 167 154 padding-left: 0em; 168 155 } 169 li.tocline0{156 ul.toc li { 170 157 line-height: 150%; 171 158 font-weight: bold; … … 174 161 margin-right: 0em; 175 162 } 176 li.tocline1{163 ul.toc li li { 177 164 line-height: normal; 178 165 font-weight: normal; … … 181 168 margin-right: 0em; 182 169 } 183 li. tocline2{170 li.excluded { 184 171 font-size: 0pt; 185 172 } … … 187 174 margin-left: 0em; 188 175 } 189 ul.ind {176 ul.ind, ul.ind ul { 190 177 list-style: none; 191 178 margin-left: 1.5em; 192 179 margin-right: 0em; 193 180 padding-left: 0em; 194 } 195 li.indline0 { 181 page-break-before: avoid; 182 } 183 ul.ind li { 196 184 font-weight: bold; 197 185 line-height: 200%; … … 199 187 margin-right: 0em; 200 188 } 201 li.indline1{189 ul.ind li li { 202 190 font-weight: normal; 203 191 line-height: 150%; 204 192 margin-left: 0em; 205 193 margin-right: 0em; 194 } 195 .avoidbreak { 196 page-break-inside: avoid; 206 197 } 207 198 .bcp14 { … … 288 279 } 289 280 290 a.iref{281 ul.ind li li a { 291 282 content: target-counter(attr(href), page); 292 283 } … … 301 292 @page { 302 293 @top-left { 303 content: "I NTERNET DRAFT";294 content: "Internet-Draft"; 304 295 } 305 296 @top-right { … … 357 348 <link rel="Appendix" title="A Compatibility with Previous Versions" href="#rfc.section.A"> 358 349 <link rel="Appendix" title="B Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.B"> 359 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.365, 2008-03-07 07:17:25, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/"> 360 <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"> 361 <meta name="DC.Creator" content="Fielding, R."> 362 <meta name="DC.Creator" content="Gettys, J."> 363 <meta name="DC.Creator" content="Mogul, J."> 364 <meta name="DC.Creator" content="Frystyk, H."> 365 <meta name="DC.Creator" content="Masinter, L."> 366 <meta name="DC.Creator" content="Leach, P."> 367 <meta name="DC.Creator" content="Berners-Lee, T."> 368 <meta name="DC.Creator" content="Lafon, Y."> 369 <meta name="DC.Creator" content="Reschke, J. F."> 370 <meta name="DC.Identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-02"> 371 <meta name="DC.Date.Issued" scheme="ISO8601" content="2008-02"> 372 <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:2616"> 373 <meta name="DC.Description.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 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."> 350 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.537, 2010-12-30 14:21:59, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/"> 351 <link rel="schema.dct" href="http://purl.org/dc/terms/"> 352 <meta name="dct.creator" content="Fielding, R."> 353 <meta name="dct.creator" content="Gettys, J."> 354 <meta name="dct.creator" content="Mogul, J."> 355 <meta name="dct.creator" content="Frystyk, H."> 356 <meta name="dct.creator" content="Masinter, L."> 357 <meta name="dct.creator" content="Leach, P."> 358 <meta name="dct.creator" content="Berners-Lee, T."> 359 <meta name="dct.creator" content="Lafon, Y."> 360 <meta name="dct.creator" content="Reschke, J. F."> 361 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-02"> 362 <meta name="dct.issued" scheme="ISO8601" content="2008-02-24"> 363 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 364 <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 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."> 365 <meta name="description" 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 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."> 374 366 </head> 375 367 <body> 376 <table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"> 377 <tr> 378 <td class="header left">Network Working Group</td> 379 <td class="header right">R. Fielding, Editor</td> 380 </tr> 381 <tr> 382 <td class="header left">Internet Draft</td> 383 <td class="header right">Day Software</td> 384 </tr> 385 <tr> 386 <td class="header left"> 387 <draft-ietf-httpbis-p6-cache-02> 388 389 </td> 390 <td class="header right">J. Gettys</td> 391 </tr> 392 <tr> 393 <td class="header left">Obsoletes: <a href="http://tools.ietf.org/html/rfc2616">2616</a> (if approved) 394 </td> 395 <td class="header right">One Laptop per Child</td> 396 </tr> 397 <tr> 398 <td class="header left">Intended status: Standards Track</td> 399 <td class="header right">J. Mogul</td> 400 </tr> 401 <tr> 402 <td class="header left">Expires: August 2008</td> 403 <td class="header right">HP</td> 404 </tr> 405 <tr> 406 <td class="header left"></td> 407 <td class="header right">H. Frystyk</td> 408 </tr> 409 <tr> 410 <td class="header left"></td> 411 <td class="header right">Microsoft</td> 412 </tr> 413 <tr> 414 <td class="header left"></td> 415 <td class="header right">L. Masinter</td> 416 </tr> 417 <tr> 418 <td class="header left"></td> 419 <td class="header right">Adobe Systems</td> 420 </tr> 421 <tr> 422 <td class="header left"></td> 423 <td class="header right">P. Leach</td> 424 </tr> 425 <tr> 426 <td class="header left"></td> 427 <td class="header right">Microsoft</td> 428 </tr> 429 <tr> 430 <td class="header left"></td> 431 <td class="header right">T. Berners-Lee</td> 432 </tr> 433 <tr> 434 <td class="header left"></td> 435 <td class="header right">W3C/MIT</td> 436 </tr> 437 <tr> 438 <td class="header left"></td> 439 <td class="header right">Y. Lafon, Editor</td> 440 </tr> 441 <tr> 442 <td class="header left"></td> 443 <td class="header right">W3C</td> 444 </tr> 445 <tr> 446 <td class="header left"></td> 447 <td class="header right">J. F. Reschke, Editor</td> 448 </tr> 449 <tr> 450 <td class="header left"></td> 451 <td class="header right">greenbytes</td> 452 </tr> 453 <tr> 454 <td class="header left"></td> 455 <td class="header right">February 24, 2008</td> 456 </tr> 368 <table class="header"> 369 <tbody> 370 <tr> 371 <td class="left">Network Working Group</td> 372 <td class="right">R. Fielding, Editor</td> 373 </tr> 374 <tr> 375 <td class="left">Internet-Draft</td> 376 <td class="right">Day Software</td> 377 </tr> 378 <tr> 379 <td class="left">Obsoletes: <a href="http://tools.ietf.org/html/rfc2616">2616</a> (if approved) 380 </td> 381 <td class="right">J. Gettys</td> 382 </tr> 383 <tr> 384 <td class="left">Intended status: Standards Track</td> 385 <td class="right">One Laptop per Child</td> 386 </tr> 387 <tr> 388 <td class="left">Expires: August 27, 2008</td> 389 <td class="right">J. Mogul</td> 390 </tr> 391 <tr> 392 <td class="left"></td> 393 <td class="right">HP</td> 394 </tr> 395 <tr> 396 <td class="left"></td> 397 <td class="right">H. Frystyk</td> 398 </tr> 399 <tr> 400 <td class="left"></td> 401 <td class="right">Microsoft</td> 402 </tr> 403 <tr> 404 <td class="left"></td> 405 <td class="right">L. Masinter</td> 406 </tr> 407 <tr> 408 <td class="left"></td> 409 <td class="right">Adobe Systems</td> 410 </tr> 411 <tr> 412 <td class="left"></td> 413 <td class="right">P. Leach</td> 414 </tr> 415 <tr> 416 <td class="left"></td> 417 <td class="right">Microsoft</td> 418 </tr> 419 <tr> 420 <td class="left"></td> 421 <td class="right">T. Berners-Lee</td> 422 </tr> 423 <tr> 424 <td class="left"></td> 425 <td class="right">W3C/MIT</td> 426 </tr> 427 <tr> 428 <td class="left"></td> 429 <td class="right">Y. Lafon, Editor</td> 430 </tr> 431 <tr> 432 <td class="left"></td> 433 <td class="right">W3C</td> 434 </tr> 435 <tr> 436 <td class="left"></td> 437 <td class="right">J. Reschke, Editor</td> 438 </tr> 439 <tr> 440 <td class="left"></td> 441 <td class="right">greenbytes</td> 442 </tr> 443 <tr> 444 <td class="left"></td> 445 <td class="right">February 24, 2008</td> 446 </tr> 447 </tbody> 457 448 </table> 458 449 <p class="title">HTTP/1.1, part 6: Caching<br><span class="filename">draft-ietf-httpbis-p6-cache-02</span></p> … … 469 460 in progress”. 470 461 </p> 471 <p>The list of current Internet-Drafts can be accessed at <<a href="http://www.ietf.org/ietf/1id-abstracts.txt">http://www.ietf.org/ietf/1id-abstracts.txt</a>>.472 </p> 473 <p>The list of Internet-Draft Shadow Directories can be accessed at <<a href="http://www.ietf.org/shadow.html">http://www.ietf.org/shadow.html</a>>.474 </p> 475 <p>This Internet-Draft will expire in August2008.</p>462 <p>The list of current Internet-Drafts can be accessed at <a href="http://www.ietf.org/ietf/1id-abstracts.txt">http://www.ietf.org/ietf/1id-abstracts.txt</a>. 463 </p> 464 <p>The list of Internet-Draft Shadow Directories can be accessed at <a href="http://www.ietf.org/shadow.html">http://www.ietf.org/shadow.html</a>. 465 </p> 466 <p>This Internet-Draft will expire on August 27, 2008.</p> 476 467 <h1 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h1> 477 468 <p>The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information … … 490 481 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 491 482 <ul class="toc"> 492 <li class="tocline0">1. <a href="#caching">Introduction</a><ul class="toc">493 <li class="tocline1">1.1 <a href="#intro.purpose">Purpose</a></li>494 <li class="tocline1">1.2 <a href="#intro.terminology">Terminology</a></li>495 <li class="tocline1">1.3 <a href="#intro.requirements">Requirements</a></li>483 <li>1. <a href="#caching">Introduction</a><ul> 484 <li>1.1 <a href="#intro.purpose">Purpose</a></li> 485 <li>1.2 <a href="#intro.terminology">Terminology</a></li> 486 <li>1.3 <a href="#intro.requirements">Requirements</a></li> 496 487 </ul> 497 488 </li> 498 <li class="tocline0">2. <a href="#notation">Notational Conventions and Generic Grammar</a></li>499 <li class="tocline0">3. <a href="#caching.overview">Overview</a><ul class="toc">500 <li class="tocline1">3.1 <a href="#cache.correctness">Cache Correctness</a></li>501 <li class="tocline1">3.2 <a href="#warnings">Warnings</a></li>502 <li class="tocline1">3.3 <a href="#cache-control.mechanisms">Cache-control Mechanisms</a></li>503 <li class="tocline1">3.4 <a href="#explicit.ua.warnings">Explicit User Agent Warnings</a></li>504 <li class="tocline1">3.5 <a href="#exceptions.to.the.rules.and.warnings">Exceptions to the Rules and Warnings</a></li>505 <li class="tocline1">3.6 <a href="#client-controlled.behavior">Client-controlled Behavior</a></li>489 <li>2. <a href="#notation">Notational Conventions and Generic Grammar</a></li> 490 <li>3. <a href="#caching.overview">Overview</a><ul> 491 <li>3.1 <a href="#cache.correctness">Cache Correctness</a></li> 492 <li>3.2 <a href="#warnings">Warnings</a></li> 493 <li>3.3 <a href="#cache-control.mechanisms">Cache-control Mechanisms</a></li> 494 <li>3.4 <a href="#explicit.ua.warnings">Explicit User Agent Warnings</a></li> 495 <li>3.5 <a href="#exceptions.to.the.rules.and.warnings">Exceptions to the Rules and Warnings</a></li> 496 <li>3.6 <a href="#client-controlled.behavior">Client-controlled Behavior</a></li> 506 497 </ul> 507 498 </li> 508 <li class="tocline0">4. <a href="#expiration.model">Expiration Model</a><ul class="toc">509 <li class="tocline1">4.1 <a href="#server-specified.expiration">Server-Specified Expiration</a></li>510 <li class="tocline1">4.2 <a href="#heuristic.expiration">Heuristic Expiration</a></li>511 <li class="tocline1">4.3 <a href="#age.calculations">Age Calculations</a></li>512 <li class="tocline1">4.4 <a href="#expiration.calculations">Expiration Calculations</a></li>513 <li class="tocline1">4.5 <a href="#disambiguating.expiration.values">Disambiguating Expiration Values</a></li>514 <li class="tocline1">4.6 <a href="#disambiguating.multiple.responses">Disambiguating Multiple Responses</a></li>499 <li>4. <a href="#expiration.model">Expiration Model</a><ul> 500 <li>4.1 <a href="#server-specified.expiration">Server-Specified Expiration</a></li> 501 <li>4.2 <a href="#heuristic.expiration">Heuristic Expiration</a></li> 502 <li>4.3 <a href="#age.calculations">Age Calculations</a></li> 503 <li>4.4 <a href="#expiration.calculations">Expiration Calculations</a></li> 504 <li>4.5 <a href="#disambiguating.expiration.values">Disambiguating Expiration Values</a></li> 505 <li>4.6 <a href="#disambiguating.multiple.responses">Disambiguating Multiple Responses</a></li> 515 506 </ul> 516 507 </li> 517 <li class="tocline0">5. <a href="#validation.model">Validation Model</a></li>518 <li class="tocline0">6. <a href="#response.cacheability">Response Cacheability</a></li>519 <li class="tocline0">7. <a href="#constructing.responses.from.caches">Constructing Responses From Caches</a><ul class="toc">520 <li class="tocline1">7.1 <a href="#end-to-end.and.hop-by-hop.headers">End-to-end and Hop-by-hop Headers</a></li>521 <li class="tocline1">7.2 <a href="#non-modifiable.headers">Non-modifiable Headers</a></li>522 <li class="tocline1">7.3 <a href="#combining.headers">Combining Headers</a></li>508 <li>5. <a href="#validation.model">Validation Model</a></li> 509 <li>6. <a href="#response.cacheability">Response Cacheability</a></li> 510 <li>7. <a href="#constructing.responses.from.caches">Constructing Responses From Caches</a><ul> 511 <li>7.1 <a href="#end-to-end.and.hop-by-hop.headers">End-to-end and Hop-by-hop Headers</a></li> 512 <li>7.2 <a href="#non-modifiable.headers">Non-modifiable Headers</a></li> 513 <li>7.3 <a href="#combining.headers">Combining Headers</a></li> 523 514 </ul> 524 515 </li> 525 <li class="tocline0">8. <a href="#caching.negotiated.responses">Caching Negotiated Responses</a></li>526 <li class="tocline0">9. <a href="#shared.and.non-shared.caches">Shared and Non-Shared Caches</a></li>527 <li class="tocline0">10. <a href="#errors.or.incomplete.response.cache.behavior">Errors or Incomplete Response Cache Behavior</a></li>528 <li class="tocline0">11. <a href="#side.effects.of.get.and.head">Side Effects of GET and HEAD</a></li>529 <li class="tocline0">12. <a href="#invalidation.after.updates.or.deletions">Invalidation After Updates or Deletions</a></li>530 <li class="tocline0">13. <a href="#write-through.mandatory">Write-Through Mandatory</a></li>531 <li class="tocline0">14. <a href="#cache.replacement">Cache Replacement</a></li>532 <li class="tocline0">15. <a href="#history.lists">History Lists</a></li>533 <li class="tocline0">16. <a href="#header.fields">Header Field Definitions</a><ul class="toc">534 <li class="tocline1">16.1 <a href="#header.age">Age</a></li>535 <li class="tocline1">16.2 <a href="#header.cache-control">Cache-Control</a><ul class="toc">536 <li class="tocline1">16.2.1 <a href="#what.is.cacheable">What is Cacheable</a></li>537 <li class="tocline1">16.2.2 <a href="#what.may.be.stored.by.caches">What May be Stored by Caches</a></li>538 <li class="tocline1">16.2.3 <a href="#modifications.of.the.basic.expiration.mechanism">Modifications of the Basic Expiration Mechanism</a></li>539 <li class="tocline1">16.2.4 <a href="#cache.revalidation.and.reload.controls">Cache Revalidation and Reload Controls</a></li>540 <li class="tocline1">16.2.5 <a href="#no-transform.directive">No-Transform Directive</a></li>541 <li class="tocline1">16.2.6 <a href="#cache.control.extensions">Cache Control Extensions</a></li>516 <li>8. <a href="#caching.negotiated.responses">Caching Negotiated Responses</a></li> 517 <li>9. <a href="#shared.and.non-shared.caches">Shared and Non-Shared Caches</a></li> 518 <li>10. <a href="#errors.or.incomplete.response.cache.behavior">Errors or Incomplete Response Cache Behavior</a></li> 519 <li>11. <a href="#side.effects.of.get.and.head">Side Effects of GET and HEAD</a></li> 520 <li>12. <a href="#invalidation.after.updates.or.deletions">Invalidation After Updates or Deletions</a></li> 521 <li>13. <a href="#write-through.mandatory">Write-Through Mandatory</a></li> 522 <li>14. <a href="#cache.replacement">Cache Replacement</a></li> 523 <li>15. <a href="#history.lists">History Lists</a></li> 524 <li>16. <a href="#header.fields">Header Field Definitions</a><ul> 525 <li>16.1 <a href="#header.age">Age</a></li> 526 <li>16.2 <a href="#header.cache-control">Cache-Control</a><ul> 527 <li>16.2.1 <a href="#what.is.cacheable">What is Cacheable</a></li> 528 <li>16.2.2 <a href="#what.may.be.stored.by.caches">What May be Stored by Caches</a></li> 529 <li>16.2.3 <a href="#modifications.of.the.basic.expiration.mechanism">Modifications of the Basic Expiration Mechanism</a></li> 530 <li>16.2.4 <a href="#cache.revalidation.and.reload.controls">Cache Revalidation and Reload Controls</a></li> 531 <li>16.2.5 <a href="#no-transform.directive">No-Transform Directive</a></li> 532 <li>16.2.6 <a href="#cache.control.extensions">Cache Control Extensions</a></li> 542 533 </ul> 543 534 </li> 544 <li class="tocline1">16.3 <a href="#header.expires">Expires</a></li>545 <li class="tocline1">16.4 <a href="#header.pragma">Pragma</a></li>546 <li class="tocline1">16.5 <a href="#header.vary">Vary</a></li>547 <li class="tocline1">16.6 <a href="#header.warning">Warning</a></li>535 <li>16.3 <a href="#header.expires">Expires</a></li> 536 <li>16.4 <a href="#header.pragma">Pragma</a></li> 537 <li>16.5 <a href="#header.vary">Vary</a></li> 538 <li>16.6 <a href="#header.warning">Warning</a></li> 548 539 </ul> 549 540 </li> 550 <li class="tocline0">17. <a href="#IANA.considerations">IANA Considerations</a></li>551 <li class="tocline0">18. <a href="#security.considerations">Security Considerations</a></li>552 <li class="tocline0">19. <a href="#ack">Acknowledgments</a></li>553 <li class="tocline0">20. <a href="#rfc.references">References</a><ul class="toc">554 <li class="tocline1">20.1 <a href="#rfc.references.1">Normative References</a></li>555 <li class="tocline1">20.2 <a href="#rfc.references.2">Informative References</a></li>541 <li>17. <a href="#IANA.considerations">IANA Considerations</a></li> 542 <li>18. <a href="#security.considerations">Security Considerations</a></li> 543 <li>19. <a href="#ack">Acknowledgments</a></li> 544 <li>20. <a href="#rfc.references">References</a><ul> 545 <li>20.1 <a href="#rfc.references.1">Normative References</a></li> 546 <li>20.2 <a href="#rfc.references.2">Informative References</a></li> 556 547 </ul> 557 548 </li> 558 <li class="tocline0"><a href="#rfc.authors">Authors' Addresses</a></li>559 <li class="tocline0">A. <a href="#compatibility">Compatibility with Previous Versions</a><ul class="toc">560 <li class="tocline1">A.1 <a href="#changes.from.rfc.2068">Changes from RFC 2068</a></li>561 <li class="tocline1">A.2 <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li>549 <li><a href="#rfc.authors">Authors' Addresses</a></li> 550 <li>A. <a href="#compatibility">Compatibility with Previous Versions</a><ul> 551 <li>A.1 <a href="#changes.from.rfc.2068">Changes from RFC 2068</a></li> 552 <li>A.2 <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 562 553 </ul> 563 554 </li> 564 <li class="tocline0">B. <a href="#rfc.section.B">Change Log (to be removed by RFC Editor before publication)</a><ul class="toc">565 <li class="tocline1">B.1 <a href="#rfc.section.B.1">Since RFC2616</a></li>566 <li class="tocline1">B.2 <a href="#rfc.section.B.2">Since draft-ietf-httpbis-p6-cache-00</a></li>567 <li class="tocline1">B.3 <a href="#rfc.section.B.3">Since draft-ietf-httpbis-p6-cache-01</a></li>555 <li>B. <a href="#rfc.section.B">Change Log (to be removed by RFC Editor before publication)</a><ul> 556 <li>B.1 <a href="#rfc.section.B.1">Since RFC2616</a></li> 557 <li>B.2 <a href="#rfc.section.B.2">Since draft-ietf-httpbis-p6-cache-00</a></li> 558 <li>B.3 <a href="#rfc.section.B.3">Since draft-ietf-httpbis-p6-cache-01</a></li> 568 559 </ul> 569 560 </li> 570 <li class="tocline0"><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li>571 <li class="tocline0"><a href="#rfc.index">Index</a></li>561 <li><a href="#rfc.index">Index</a></li> 562 <li><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li> 572 563 </ul> 573 564 <h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a id="caching" href="#caching">Introduction</a></h1> … … 612 603 </ol> 613 604 <p id="rfc.section.1.1.p.6">A basic principle is that it must be possible for the clients to detect any potential relaxation of semantic transparency. </p> 614 < dl class="empty">615 < dd> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification.605 <ul class="empty"> 606 <li> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification. 616 607 If a decision might affect semantic transparency, the implementor ought to err on the side of maintaining transparency unless 617 608 a careful and complete analysis shows significant benefits in breaking transparency. 618 </ dd>619 </ dl>609 </li> 610 </ul> 620 611 <h2 id="rfc.section.1.2"><a href="#rfc.section.1.2">1.2</a> <a id="intro.terminology" href="#intro.terminology">Terminology</a></h2> 621 612 <p id="rfc.section.1.2.p.1">This specification uses a number of terms to refer to the roles played by participants in, and objects of, HTTP caching.</p> 622 613 <p id="rfc.section.1.2.p.2"> <span id="rfc.iref.c.2"></span> <dfn>cacheable</dfn> 623 614 </p> 624 < dl class="empty">625 < dd>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests.615 <ul class="empty"> 616 <li>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests. 626 617 Even when a response is cacheable, there may be additional constraints on whether a cache can use the cached copy for a particular 627 618 request. 628 </ dd>629 </ dl>619 </li> 620 </ul> 630 621 <p id="rfc.section.1.2.p.3"> <span id="rfc.iref.f.1"></span> <dfn>first-hand</dfn> 631 622 </p> 632 < dl class="empty">633 < dd>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more623 <ul class="empty"> 624 <li>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more 634 625 proxies. A response is also first-hand if its validity has just been checked directly with the origin server. 635 </ dd>636 </ dl>626 </li> 627 </ul> 637 628 <p id="rfc.section.1.2.p.4"> <span id="rfc.iref.e.1"></span> <dfn>explicit expiration time</dfn> 638 629 </p> 639 < dl class="empty">640 < dd>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</dd>641 </ dl>630 <ul class="empty"> 631 <li>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</li> 632 </ul> 642 633 <p id="rfc.section.1.2.p.5"> <span id="rfc.iref.h.1"></span> <dfn>heuristic expiration time</dfn> 643 634 </p> 644 < dl class="empty">645 < dd>An expiration time assigned by a cache when no explicit expiration time is available.</dd>646 </ dl>635 <ul class="empty"> 636 <li>An expiration time assigned by a cache when no explicit expiration time is available.</li> 637 </ul> 647 638 <p id="rfc.section.1.2.p.6"> <span id="rfc.iref.a.1"></span> <dfn>age</dfn> 648 639 </p> 649 < dl class="empty">650 < dd>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</dd>651 </ dl>640 <ul class="empty"> 641 <li>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</li> 642 </ul> 652 643 <p id="rfc.section.1.2.p.7"> <span id="rfc.iref.f.2"></span> <dfn>freshness lifetime</dfn> 653 644 </p> 654 < dl class="empty">655 < dd>The length of time between the generation of a response and its expiration time.</dd>656 </ dl>645 <ul class="empty"> 646 <li>The length of time between the generation of a response and its expiration time.</li> 647 </ul> 657 648 <p id="rfc.section.1.2.p.8"> <span id="rfc.iref.f.3"></span> <dfn>fresh</dfn> 658 649 </p> 659 < dl class="empty">660 < dd>A response is fresh if its age has not yet exceeded its freshness lifetime.</dd>661 </ dl>650 <ul class="empty"> 651 <li>A response is fresh if its age has not yet exceeded its freshness lifetime.</li> 652 </ul> 662 653 <p id="rfc.section.1.2.p.9"> <span id="rfc.iref.s.2"></span> <dfn>stale</dfn> 663 654 </p> 664 < dl class="empty">665 < dd>A response is stale if its age has passed its freshness lifetime.</dd>666 </ dl>655 <ul class="empty"> 656 <li>A response is stale if its age has passed its freshness lifetime.</li> 657 </ul> 667 658 <p id="rfc.section.1.2.p.10"> <span id="rfc.iref.v.1"></span> <dfn>validator</dfn> 668 659 </p> 669 < dl class="empty">670 < dd>A protocol element (e.g., an entity tag or a Last-Modified time) that is used to find out whether a cache entry is an equivalent660 <ul class="empty"> 661 <li>A protocol element (e.g., an entity tag or a Last-Modified time) that is used to find out whether a cache entry is an equivalent 671 662 copy of an entity. 672 </ dd>673 </ dl>663 </li> 664 </ul> 674 665 <h2 id="rfc.section.1.3"><a href="#rfc.section.1.3">1.3</a> <a id="intro.requirements" href="#intro.requirements">Requirements</a></h2> 675 666 <p id="rfc.section.1.3.p.1">The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" … … 679 670 </p> 680 671 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="notation" href="#notation">Notational Conventions and Generic Grammar</a></h1> 681 <p id="rfc.section.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation.abnf" title="Augmented BNF">Section 2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and the core rules defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: <span class="comment" >[abnf.dep: ABNF syntax and basic rules will be adopted from RFC 5234, see <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>.]</span>672 <p id="rfc.section.2.p.1">This specification uses the ABNF syntax defined in <a href="p1-messaging.html#notation.abnf" title="Augmented BNF">Section 2.1</a> of <a href="#Part1" id="rfc.xref.Part1.1"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a> and the core rules defined in <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a> of <a href="#Part1" id="rfc.xref.Part1.2"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>: <span class="comment" id="abnf.dep">[<a href="#abnf.dep" class="smpl">abnf.dep</a>: ABNF syntax and basic rules will be adopted from RFC 5234, see <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/36">http://tools.ietf.org/wg/httpbis/trac/ticket/36</a>>.]</span> 682 673 </p> 683 674 <div id="rfc.figure.u.1"></div><pre class="inline"> DIGIT = <DIGIT, defined in <a href="#Part1" id="rfc.xref.Part1.3"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>, <a href="p1-messaging.html#basic.rules" title="Basic Rules">Section 2.2</a>> … … 961 952 such a response was taken from a cache by comparing the Date header to the current time. 962 953 </p> 963 < dl class="empty">964 < dd> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning.965 </ dd>966 </ dl>954 <ul class="empty"> 955 <li> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning. 956 </li> 957 </ul> 967 958 <p id="rfc.section.6.p.2">However, in some cases it might be inappropriate for a cache to retain an entity, or to return it in response to a subsequent 968 959 request. This might be because absolute semantic transparency is deemed necessary by the service author, or because of security … … 1036 1027 <p id="rfc.section.7.2.p.6">A non-transparent proxy <em class="bcp14">MAY</em> modify or add these fields to a message that does not include no-transform, but if it does so, it <em class="bcp14">MUST</em> add a Warning 214 (Transformation applied) if one does not already appear in the message (see <a href="#header.warning" id="rfc.xref.header.warning.4" title="Warning">Section 16.6</a>). 1037 1028 </p> 1038 < dl class="empty">1039 < dd>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms1029 <ul class="empty"> 1030 <li>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms 1040 1031 are introduced in later versions of HTTP. Such authentication mechanisms <em class="bcp14">MAY</em> rely on the values of header fields not listed here. 1041 </ dd>1042 </ dl>1032 </li> 1033 </ul> 1043 1034 <p id="rfc.section.7.2.p.7">The Content-Length field of a request or response is added or deleted according to the rules in <a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.15"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>. A transparent proxy <em class="bcp14">MUST</em> preserve the entity-length (<a href="p3-payload.html#entity.length" title="Entity Length">Section 4.2.2</a> of <a href="#Part3" id="rfc.xref.Part3.1"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>) of the entity-body, although it <em class="bcp14">MAY</em> change the transfer-length (<a href="p1-messaging.html#message.length" title="Message Length">Section 4.4</a> of <a href="#Part1" id="rfc.xref.Part1.16"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1044 1035 </p> … … 1067 1058 stored with the cache entry (except for stored Warning headers with warn-code 1xx, which are deleted even if not overridden). 1068 1059 </p> 1069 < dl class="empty">1070 < dd> <b>Note:</b> this rule allows an origin server to use a 304 (Not Modified) or a 206 (Partial Content) response to update any header associated1060 <ul class="empty"> 1061 <li> <b>Note:</b> this rule allows an origin server to use a 304 (Not Modified) or a 206 (Partial Content) response to update any header associated 1071 1062 with a previous response for the same entity or sub-ranges thereof, although it might not always be meaningful or correct 1072 1063 to do so. This rule does not allow an origin server to use a 304 (Not Modified) or a 206 (Partial Content) response to entirely 1073 1064 delete a header that it had provided with a previous response. 1074 </ dd>1075 </ dl>1065 </li> 1066 </ul> 1076 1067 <h1 id="rfc.section.8"><a href="#rfc.section.8">8.</a> <a id="caching.negotiated.responses" href="#caching.negotiated.responses">Caching Negotiated Responses</a></h1> 1077 1068 <p id="rfc.section.8.p.1">Use of server-driven content negotiation (<a href="p3-payload.html#server-driven.negotiation" title="Server-driven Negotiation">Section 5.1</a> of <a href="#Part3" id="rfc.xref.Part3.2"><cite title="HTTP/1.1, part 3: Message Payload and Content Negotiation">[Part3]</cite></a>), as indicated by the presence of a Vary header field in a response, alters the conditions and procedure by which a cache … … 1168 1159 to be returned. If it inserts the new response into cache storage the rules in <a href="#combining.headers" title="Combining Headers">Section 7.3</a> apply. 1169 1160 </p> 1170 < dl class="empty">1171 < dd> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable.1172 </ dd>1173 </ dl>1161 <ul class="empty"> 1162 <li> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable. 1163 </li> 1164 </ul> 1174 1165 <h1 id="rfc.section.15"><a href="#rfc.section.15">15.</a> <a id="history.lists" href="#history.lists">History Lists</a></h1> 1175 1166 <p id="rfc.section.15.p.1">User agents often have history mechanisms, such as "Back" buttons and history lists, which can be used to redisplay an entity … … 1183 1174 </p> 1184 1175 <p id="rfc.section.15.p.4">This is not to be construed to prohibit the history mechanism from telling the user that a view might be stale. </p> 1185 < dl class="empty">1186 < dd> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors1176 <ul class="empty"> 1177 <li> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors 1187 1178 to avoid using HTTP expiration controls and cache controls when they would otherwise like to. Service authors may consider 1188 1179 it important that users not be presented with error messages or warning messages when they use navigation controls (such as … … 1190 1181 user interface considerations may force service authors to resort to other means of preventing caching (e.g. "once-only" URLs) 1191 1182 in order not to suffer the effects of improperly functioning history mechanisms. 1192 </ dd>1193 </ dl>1183 </li> 1184 </ul> 1194 1185 <h1 id="rfc.section.16"><a href="#rfc.section.16">16.</a> <a id="header.fields" href="#header.fields">Header Field Definitions</a></h1> 1195 1186 <p id="rfc.section.16.p.1">This section defines the syntax and semantics of HTTP/1.1 header fields related to caching.</p> … … 1219 1210 is to be given in the response. 1220 1211 </p> 1221 < dl class="empty">1222 < dd>Note that HTTP/1.0 caches might not implement Cache-Control and might only implement Pragma: no-cache (see <a href="#header.pragma" id="rfc.xref.header.pragma.1" title="Pragma">Section 16.4</a>).1223 </ dd>1224 </ dl>1212 <ul class="empty"> 1213 <li>Note that HTTP/1.0 caches might not implement Cache-Control and might only implement Pragma: no-cache (see <a href="#header.pragma" id="rfc.xref.header.pragma.1" title="Pragma">Section 16.4</a>). 1214 </li> 1215 </ul> 1225 1216 <p id="rfc.section.16.2.p.2">Cache directives <em class="bcp14">MUST</em> be passed through by a proxy or gateway application, regardless of their significance to that application, since the directives 1226 1217 might be applicable to all recipients along the request/response chain. It is not possible to specify a cache-directive for … … 1276 1267 <p id="rfc.section.16.2.1.p.2"> <span id="rfc.iref.c.4"></span> <span id="rfc.iref.p.1"></span> public 1277 1268 </p> 1278 < dl class="empty">1279 < dd>Indicates that the response <em class="bcp14">MAY</em> be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non-shared cache. (See also1269 <ul class="empty"> 1270 <li>Indicates that the response <em class="bcp14">MAY</em> be cached by any cache, even if it would normally be non-cacheable or cacheable only within a non-shared cache. (See also 1280 1271 Authorization, <a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a> of <a href="#Part7" id="rfc.xref.Part7.2"><cite title="HTTP/1.1, part 7: Authentication">[Part7]</cite></a>, for additional details.) 1281 </ dd>1282 </ dl>1272 </li> 1273 </ul> 1283 1274 <p id="rfc.section.16.2.1.p.3"> <span id="rfc.iref.c.5"></span> <span id="rfc.iref.p.2"></span> private 1284 1275 </p> 1285 < dl class="empty">1286 < dd>Indicates that all or part of the response message is intended for a single user and <em class="bcp14">MUST NOT</em> be cached by a shared cache. This allows an origin server to state that the specified parts of the response are intended for1276 <ul class="empty"> 1277 <li>Indicates that all or part of the response message is intended for a single user and <em class="bcp14">MUST NOT</em> be cached by a shared cache. This allows an origin server to state that the specified parts of the response are intended for 1287 1278 only one user and are not a valid response for requests by other users. A private (non-shared) cache <em class="bcp14">MAY</em> cache the response. 1288 </ dd>1289 < dd> <b>Note:</b> This usage of the word private only controls where the response may be cached, and cannot ensure the privacy of the message1279 </li> 1280 <li> <b>Note:</b> This usage of the word private only controls where the response may be cached, and cannot ensure the privacy of the message 1290 1281 content. 1291 </ dd>1292 </ dl>1282 </li> 1283 </ul> 1293 1284 <p id="rfc.section.16.2.1.p.4"> <span id="rfc.iref.c.6"></span> <span id="rfc.iref.n.1"></span> no-cache 1294 1285 </p> 1295 < dl class="empty">1296 < dd>If the no-cache directive does not specify a field-name, then a cache <em class="bcp14">MUST NOT</em> use the response to satisfy a subsequent request without successful revalidation with the origin server. This allows an origin1286 <ul class="empty"> 1287 <li>If the no-cache directive does not specify a field-name, then a cache <em class="bcp14">MUST NOT</em> use the response to satisfy a subsequent request without successful revalidation with the origin server. This allows an origin 1297 1288 server to prevent caching even by caches that have been configured to return stale responses to client requests. 1298 </ dd>1299 < dd>If the no-cache directive does specify one or more field-names, then a cache <em class="bcp14">MAY</em> use the response to satisfy a subsequent request, subject to any other restrictions on caching. However, the specified field-name(s) <em class="bcp14">MUST NOT</em> be sent in the response to a subsequent request without successful revalidation with the origin server. This allows an origin1289 </li> 1290 <li>If the no-cache directive does specify one or more field-names, then a cache <em class="bcp14">MAY</em> use the response to satisfy a subsequent request, subject to any other restrictions on caching. However, the specified field-name(s) <em class="bcp14">MUST NOT</em> be sent in the response to a subsequent request without successful revalidation with the origin server. This allows an origin 1300 1291 server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. 1301 < dl class="empty">1302 < dd> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive.1303 </ dd>1304 </ dl>1305 </ dd>1306 </ dl>1292 <ul class="empty"> 1293 <li> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive. 1294 </li> 1295 </ul> 1296 </li> 1297 </ul> 1307 1298 <h3 id="rfc.section.16.2.2"><a href="#rfc.section.16.2.2">16.2.2</a> <a id="what.may.be.stored.by.caches" href="#what.may.be.stored.by.caches">What May be Stored by Caches</a></h3> 1308 1299 <p id="rfc.section.16.2.2.p.1"> <span id="rfc.iref.c.7"></span> <span id="rfc.iref.n.2"></span> no-store 1309 1300 </p> 1310 < dl class="empty">1311 < dd>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example,1301 <ul class="empty"> 1302 <li>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example, 1312 1303 on backup tapes). The no-store directive applies to the entire message, and <em class="bcp14">MAY</em> be sent either in a response or in a request. If sent in a request, a cache <em class="bcp14">MUST NOT</em> store any part of either this request or any response to it. If sent in a response, a cache <em class="bcp14">MUST NOT</em> store any part of either this response or the request that elicited it. This directive applies to both non-shared and shared 1313 1304 caches. "<em class="bcp14">MUST NOT</em> store" in this context means that the cache <em class="bcp14">MUST NOT</em> intentionally store the information in non-volatile storage, and <em class="bcp14">MUST</em> make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it. 1314 </ dd>1315 < dd>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching1305 </li> 1306 <li>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching 1316 1307 system (e.g., with a "Save As" dialog). History buffers <em class="bcp14">MAY</em> store such responses as part of their normal operation. 1317 </ dd>1318 < dd>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about1308 </li> 1309 <li>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about 1319 1310 accidental releases of information via unanticipated accesses to cache data structures. While the use of this directive might 1320 1311 improve privacy in some cases, we caution that it is NOT in any way a reliable or sufficient mechanism for ensuring privacy. 1321 1312 In particular, malicious or compromised caches might not recognize or obey this directive, and communications networks might 1322 1313 be vulnerable to eavesdropping. 1323 </ dd>1324 </ dl>1314 </li> 1315 </ul> 1325 1316 <h3 id="rfc.section.16.2.3"><a href="#rfc.section.16.2.3">16.2.3</a> <a id="modifications.of.the.basic.expiration.mechanism" href="#modifications.of.the.basic.expiration.mechanism">Modifications of the Basic Expiration Mechanism</a></h3> 1326 1317 <p id="rfc.section.16.2.3.p.1">The expiration time of an entity <em class="bcp14">MAY</em> be specified by the origin server using the Expires header (see <a href="#header.expires" id="rfc.xref.header.expires.2" title="Expires">Section 16.3</a>). Alternatively, it <em class="bcp14">MAY</em> be specified using the max-age directive in a response. When the max-age cache-control directive is present in a cached response, … … 1338 1329 does not include a Cache-Control header field, it <em class="bcp14">SHOULD</em> consider the response to be non-cacheable in order to retain compatibility with HTTP/1.0 servers. 1339 1330 </p> 1340 < dl class="empty">1341 < dd> <b>Note:</b> An origin server might wish to use a relatively new HTTP cache control feature, such as the "private" directive, on a network1331 <ul class="empty"> 1332 <li> <b>Note:</b> An origin server might wish to use a relatively new HTTP cache control feature, such as the "private" directive, on a network 1342 1333 including older caches that do not understand that feature. The origin server will need to combine the new feature with an 1343 1334 Expires field whose value is less than or equal to the Date value. This will prevent older caches from improperly caching 1344 1335 the response. 1345 </ dd>1346 </ dl>1336 </li> 1337 </ul> 1347 1338 <p id="rfc.section.16.2.3.p.4"> <span id="rfc.iref.c.8"></span> <span id="rfc.iref.s.3"></span> s-maxage 1348 1339 </p> 1349 < dl class="empty">1350 < dd>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified1340 <ul class="empty"> 1341 <li>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified 1351 1342 by this directive overrides the maximum age specified by either the max-age directive or the Expires header. The s-maxage 1352 1343 directive also implies the semantics of the proxy-revalidate directive (see <a href="#cache.revalidation.and.reload.controls" title="Cache Revalidation and Reload Controls">Section 16.2.4</a>), i.e., that the shared cache must not use the entry after it becomes stale to respond to a subsequent request without first 1353 1344 revalidating it with the origin server. The s-maxage directive is always ignored by a private cache. 1354 </ dd>1355 </ dl>1345 </li> 1346 </ul> 1356 1347 <p id="rfc.section.16.2.3.p.5">Note that most older caches, not compliant with this specification, do not implement any cache-control directives. An origin 1357 1348 server wishing to use a cache-control directive that restricts, but does not prevent, caching by an HTTP/1.1-compliant cache <em class="bcp14">MAY</em> exploit the requirement that the max-age directive overrides the Expires header, and the fact that pre-HTTP/1.1-compliant … … 1362 1353 <p id="rfc.section.16.2.3.p.7"> <span id="rfc.iref.c.9"></span> <span id="rfc.iref.m.1"></span> max-age 1363 1354 </p> 1364 < dl class="empty">1365 < dd>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless1355 <ul class="empty"> 1356 <li>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless 1366 1357 max-stale directive is also included, the client is not willing to accept a stale response. 1367 </ dd>1368 </ dl>1358 </li> 1359 </ul> 1369 1360 <p id="rfc.section.16.2.3.p.8"> <span id="rfc.iref.c.10"></span> <span id="rfc.iref.m.2"></span> min-fresh 1370 1361 </p> 1371 < dl class="empty">1372 < dd>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the1362 <ul class="empty"> 1363 <li>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the 1373 1364 specified time in seconds. That is, the client wants a response that will still be fresh for at least the specified number 1374 1365 of seconds. 1375 </ dd>1376 </ dl>1366 </li> 1367 </ul> 1377 1368 <p id="rfc.section.16.2.3.p.9"> <span id="rfc.iref.c.11"></span> <span id="rfc.iref.m.3"></span> max-stale 1378 1369 </p> 1379 < dl class="empty">1380 < dd>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned1370 <ul class="empty"> 1371 <li>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned 1381 1372 a value, then the client is willing to accept a response that has exceeded its expiration time by no more than the specified 1382 1373 number of seconds. If no value is assigned to max-stale, then the client is willing to accept a stale response of any age. 1383 </ dd>1384 </ dl>1374 </li> 1375 </ul> 1385 1376 <p id="rfc.section.16.2.3.p.10">If a cache returns a stale response, either because of a max-stale directive on a request, or because the cache is configured 1386 1377 to override the expiration time of a response, the cache <em class="bcp14">MUST</em> attach a Warning header to the stale response, using Warning 110 (Response is stale). … … 1404 1395 <p id="rfc.section.16.2.4.p.3">The client can specify these three kinds of action using Cache-Control request directives:</p> 1405 1396 <p id="rfc.section.16.2.4.p.4">End-to-end reload </p> 1406 < dl class="empty">1407 < dd>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache".1397 <ul class="empty"> 1398 <li>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache". 1408 1399 Field names <em class="bcp14">MUST NOT</em> be included with the no-cache directive in a request. The server <em class="bcp14">MUST NOT</em> use a cached copy when responding to such a request. 1409 </ dd>1410 </ dl>1400 </li> 1401 </ul> 1411 1402 <p id="rfc.section.16.2.4.p.5">Specific end-to-end revalidation </p> 1412 < dl class="empty">1413 < dd>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to1403 <ul class="empty"> 1404 <li>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to 1414 1405 revalidate its own entry, if any, with the next cache or server. The initial request includes a cache-validating conditional 1415 1406 with the client's current validator. 1416 </ dd>1417 </ dl>1407 </li> 1408 </ul> 1418 1409 <p id="rfc.section.16.2.4.p.6">Unspecified end-to-end revalidation </p> 1419 < dl class="empty">1420 < dd>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate1410 <ul class="empty"> 1411 <li>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate 1421 1412 its own entry, if any, with the next cache or server. The initial request does not include a cache-validating conditional; 1422 1413 the first cache along the path (if any) that holds a cache entry for this resource includes a cache-validating conditional 1423 1414 with its current validator. 1424 </ dd>1425 </ dl>1415 </li> 1416 </ul> 1426 1417 <p id="rfc.section.16.2.4.p.7"> <span id="rfc.iref.c.12"></span> <span id="rfc.iref.m.4"></span> max-age 1427 1418 </p> 1428 < dl class="empty">1429 < dd>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client1419 <ul class="empty"> 1420 <li>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client 1430 1421 has supplied its own validator in the request, the supplied validator might differ from the validator currently stored with 1431 1422 the cache entry. In this case, the cache <em class="bcp14">MAY</em> use either validator in making its own request without affecting semantic transparency. 1432 </ dd>1433 < dd>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own1423 </li> 1424 <li>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own 1434 1425 validator when making its request. If the server replies with 304 (Not Modified), then the cache can return its now validated 1435 1426 copy to the client with a 200 (OK) response. If the server replies with a new entity and cache validator, however, the intermediate … … 1437 1428 If the client's validator is equal to the origin server's, then the intermediate cache simply returns 304 (Not Modified). 1438 1429 Otherwise, it returns the new entity with a 200 (OK) response. 1439 </ dd>1440 < dd>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age.1441 </ dd>1442 </ dl>1430 </li> 1431 <li>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age. 1432 </li> 1433 </ul> 1443 1434 <p id="rfc.section.16.2.4.p.8"> <span id="rfc.iref.c.13"></span> <span id="rfc.iref.o.1"></span> only-if-cached 1444 1435 </p> 1445 < dl class="empty">1446 < dd>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses1436 <ul class="empty"> 1437 <li>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses 1447 1438 that it currently has stored, and not to reload or revalidate with the origin server. To do this, the client may include the 1448 1439 only-if-cached directive in a request. If it receives this directive, a cache <em class="bcp14">SHOULD</em> either respond using a cached entry that is consistent with the other constraints of the request, or respond with a 504 (Gateway 1449 1440 Timeout) status. However, if a group of caches is being operated as a unified system with good internal connectivity, such 1450 1441 a request <em class="bcp14">MAY</em> be forwarded within that group of caches. 1451 </ dd>1452 </ dl>1442 </li> 1443 </ul> 1453 1444 <p id="rfc.section.16.2.4.p.9"> <span id="rfc.iref.c.14"></span> <span id="rfc.iref.m.5"></span> must-revalidate 1454 1445 </p> 1455 < dl class="empty">1456 < dd>Because a cache <em class="bcp14">MAY</em> be configured to ignore a server's specified expiration time, and because a client request <em class="bcp14">MAY</em> include a max-stale directive (which has a similar effect), the protocol also includes a mechanism for the origin server to1446 <ul class="empty"> 1447 <li>Because a cache <em class="bcp14">MAY</em> be configured to ignore a server's specified expiration time, and because a client request <em class="bcp14">MAY</em> include a max-stale directive (which has a similar effect), the protocol also includes a mechanism for the origin server to 1457 1448 require revalidation of a cache entry on any subsequent use. When the must-revalidate directive is present in a response received 1458 1449 by a cache, that cache <em class="bcp14">MUST NOT</em> use the entry after it becomes stale to respond to a subsequent request without first revalidating it with the origin server. 1459 1450 (I.e., the cache <em class="bcp14">MUST</em> do an end-to-end revalidation every time, if, based solely on the origin server's Expires or max-age value, the cached response 1460 1451 is stale.) 1461 </ dd>1462 < dd>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances1452 </li> 1453 <li>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances 1463 1454 an HTTP/1.1 cache <em class="bcp14">MUST</em> obey the must-revalidate directive; in particular, if the cache cannot reach the origin server for any reason, it <em class="bcp14">MUST</em> generate a 504 (Gateway Timeout) response. 1464 </ dd>1465 < dd>Servers <em class="bcp14">SHOULD</em> send the must-revalidate directive if and only if failure to revalidate a request on the entity could result in incorrect1455 </li> 1456 <li>Servers <em class="bcp14">SHOULD</em> send the must-revalidate directive if and only if failure to revalidate a request on the entity could result in incorrect 1466 1457 operation, such as a silently unexecuted financial transaction. Recipients <em class="bcp14">MUST NOT</em> take any automated action that violates this directive, and <em class="bcp14">MUST NOT</em> automatically provide an unvalidated copy of the entity if revalidation fails. 1467 </ dd>1468 < dd>Although this is not recommended, user agents operating under severe connectivity constraints <em class="bcp14">MAY</em> violate this directive but, if so, <em class="bcp14">MUST</em> explicitly warn the user that an unvalidated response has been provided. The warning <em class="bcp14">MUST</em> be provided on each unvalidated access, and <em class="bcp14">SHOULD</em> require explicit user confirmation.1469 </ dd>1470 </ dl>1458 </li> 1459 <li>Although this is not recommended, user agents operating under severe connectivity constraints <em class="bcp14">MAY</em> violate this directive but, if so, <em class="bcp14">MUST</em> explicitly warn the user that an unvalidated response has been provided. The warning <em class="bcp14">MUST</em> be provided on each unvalidated access, and <em class="bcp14">SHOULD</em> require explicit user confirmation. 1460 </li> 1461 </ul> 1471 1462 <p id="rfc.section.16.2.4.p.10"> <span id="rfc.iref.c.15"></span> <span id="rfc.iref.p.3"></span> proxy-revalidate 1472 1463 </p> 1473 < dl class="empty">1474 < dd>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared1464 <ul class="empty"> 1465 <li>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared 1475 1466 user agent caches. It can be used on a response to an authenticated request to permit the user's cache to store and later 1476 1467 return the response without needing to revalidate it (since it has already been authenticated once by that user), while still … … 1478 1469 Note that such authenticated responses also need the public cache control directive in order to allow them to be cached at 1479 1470 all. 1480 </ dd>1481 </ dl>1471 </li> 1472 </ul> 1482 1473 <h3 id="rfc.section.16.2.5"><a href="#rfc.section.16.2.5">16.2.5</a> <a id="no-transform.directive" href="#no-transform.directive">No-Transform Directive</a></h3> 1483 1474 <p id="rfc.section.16.2.5.p.1"> <span id="rfc.iref.c.16"></span> <span id="rfc.iref.n.3"></span> no-transform 1484 1475 </p> 1485 < dl class="empty">1486 < dd>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent1476 <ul class="empty"> 1477 <li>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent 1487 1478 proxy might, for example, convert between image formats in order to save cache space or to reduce the amount of traffic on 1488 1479 a slow link. 1489 </ dd>1490 < dd>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain1480 </li> 1481 <li>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain 1491 1482 kinds of applications. For example, applications for medical imaging, scientific data analysis and those using end-to-end 1492 1483 authentication, all depend on receiving an entity body that is bit for bit identical to the original entity-body. 1493 </ dd>1494 < dd>Therefore, if a message includes the no-transform directive, an intermediate cache or proxy <em class="bcp14">MUST NOT</em> change those headers that are listed in <a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 7.2</a> as being subject to the no-transform directive. This implies that the cache or proxy <em class="bcp14">MUST NOT</em> change any aspect of the entity-body that is specified by these headers, including the value of the entity-body itself.1495 </ dd>1496 </ dl>1484 </li> 1485 <li>Therefore, if a message includes the no-transform directive, an intermediate cache or proxy <em class="bcp14">MUST NOT</em> change those headers that are listed in <a href="#non-modifiable.headers" title="Non-modifiable Headers">Section 7.2</a> as being subject to the no-transform directive. This implies that the cache or proxy <em class="bcp14">MUST NOT</em> change any aspect of the entity-body that is specified by these headers, including the value of the entity-body itself. 1486 </li> 1487 </ul> 1497 1488 <h3 id="rfc.section.16.2.6"><a href="#rfc.section.16.2.6">16.2.6</a> <a id="cache.control.extensions" href="#cache.control.extensions">Cache Control Extensions</a></h3> 1498 1489 <p id="rfc.section.16.2.6.p.1">The Cache-Control header field can be extended through the use of one or more cache-extension tokens, each with an optional … … 1535 1526 <div id="rfc.figure.u.17"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1536 1527 </pre><p id="rfc.section.16.3.p.7"> </p> 1537 < dl class="empty">1538 < dd> <b>Note:</b> if a response includes a Cache-Control field with the max-age directive (see <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>), that directive overrides the Expires field.1539 </ dd>1540 </ dl>1528 <ul class="empty"> 1529 <li> <b>Note:</b> if a response includes a Cache-Control field with the max-age directive (see <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">Section 16.2.3</a>), that directive overrides the Expires field. 1530 </li> 1531 </ul> 1541 1532 <p id="rfc.section.16.3.p.8">HTTP/1.1 clients and caches <em class="bcp14">MUST</em> treat other invalid date formats, especially including the value "0", as in the past (i.e., "already expired"). 1542 1533 </p> … … 1571 1562 HTTP. 1572 1563 </p> 1573 < dl class="empty">1574 < dd> <b>Note:</b> because the meaning of "Pragma: no-cache" as a response-header field is not actually specified, it does not provide a reliable1564 <ul class="empty"> 1565 <li> <b>Note:</b> because the meaning of "Pragma: no-cache" as a response-header field is not actually specified, it does not provide a reliable 1575 1566 replacement for "Cache-Control: no-cache" in a response. 1576 </ dd>1577 </ dl>1567 </li> 1568 </ul> 1578 1569 <div id="rfc.iref.v.2"></div> 1579 1570 <div id="rfc.iref.h.6"></div> … … 1650 1641 </p> 1651 1642 <p id="rfc.section.16.6.p.12">110 Response is stale </p> 1652 < dl class="empty">1653 < dd> <em class="bcp14">MUST</em> be included whenever the returned response is stale.1654 </ dd>1655 </ dl>1643 <ul class="empty"> 1644 <li> <em class="bcp14">MUST</em> be included whenever the returned response is stale. 1645 </li> 1646 </ul> 1656 1647 <p id="rfc.section.16.6.p.13">111 Revalidation failed </p> 1657 < dl class="empty">1658 < dd> <em class="bcp14">MUST</em> be included if a cache returns a stale response because an attempt to revalidate the response failed, due to an inability1648 <ul class="empty"> 1649 <li> <em class="bcp14">MUST</em> be included if a cache returns a stale response because an attempt to revalidate the response failed, due to an inability 1659 1650 to reach the server. 1660 </ dd>1661 </ dl>1651 </li> 1652 </ul> 1662 1653 <p id="rfc.section.16.6.p.14">112 Disconnected operation </p> 1663 < dl class="empty">1664 < dd> <em class="bcp14">SHOULD</em> be included if the cache is intentionally disconnected from the rest of the network for a period of time.1665 </ dd>1666 </ dl>1654 <ul class="empty"> 1655 <li> <em class="bcp14">SHOULD</em> be included if the cache is intentionally disconnected from the rest of the network for a period of time. 1656 </li> 1657 </ul> 1667 1658 <p id="rfc.section.16.6.p.15">113 Heuristic expiration </p> 1668 < dl class="empty">1669 < dd> <em class="bcp14">MUST</em> be included if the cache heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater1659 <ul class="empty"> 1660 <li> <em class="bcp14">MUST</em> be included if the cache heuristically chose a freshness lifetime greater than 24 hours and the response's age is greater 1670 1661 than 24 hours. 1671 </ dd>1672 </ dl>1662 </li> 1663 </ul> 1673 1664 <p id="rfc.section.16.6.p.16">199 Miscellaneous warning </p> 1674 < dl class="empty">1675 < dd>The warning text <em class="bcp14">MAY</em> include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action, besides presenting the warning to the user.1676 </ dd>1677 </ dl>1665 <ul class="empty"> 1666 <li>The warning text <em class="bcp14">MAY</em> include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action, besides presenting the warning to the user. 1667 </li> 1668 </ul> 1678 1669 <p id="rfc.section.16.6.p.17">214 Transformation applied </p> 1679 < dl class="empty">1680 < dd> <em class="bcp14">MUST</em> be added by an intermediate cache or proxy if it applies any transformation changing the content-coding (as specified in the1670 <ul class="empty"> 1671 <li> <em class="bcp14">MUST</em> be added by an intermediate cache or proxy if it applies any transformation changing the content-coding (as specified in the 1681 1672 Content-Encoding header) or media-type (as specified in the Content-Type header) of the response, or the entity-body of the 1682 1673 response, unless this Warning code already appears in the response. 1683 </ dd>1684 </ dl>1674 </li> 1675 </ul> 1685 1676 <p id="rfc.section.16.6.p.18">299 Miscellaneous persistent warning </p> 1686 < dl class="empty">1687 < dd>The warning text <em class="bcp14">MAY</em> include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action.1688 </ dd>1689 </ dl>1677 <ul class="empty"> 1678 <li>The warning text <em class="bcp14">MAY</em> include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action. 1679 </li> 1680 </ul> 1690 1681 <p id="rfc.section.16.6.p.19">If an implementation sends a message with one or more Warning headers whose version is HTTP/1.0 or lower, then the sender <em class="bcp14">MUST</em> include in each warning-value a warn-date that matches the date in the response. 1691 1682 </p> … … 1695 1686 </p> 1696 1687 <h1 id="rfc.section.17"><a href="#rfc.section.17">17.</a> <a id="IANA.considerations" href="#IANA.considerations">IANA Considerations</a></h1> 1697 <p id="rfc.section.17.p.1"> <span class="comment" >[rfc.comment.1: TBD.]</span>1688 <p id="rfc.section.17.p.1"> <span class="comment" id="rfc.comment.1">[<a href="#rfc.comment.1" class="smpl">rfc.comment.1</a>: TBD.]</span> 1698 1689 </p> 1699 1690 <h1 id="rfc.section.18"><a href="#rfc.section.18">18.</a> <a id="security.considerations" href="#security.considerations">Security Considerations</a></h1> … … 1711 1702 <h2 id="rfc.references.1"><a href="#rfc.section.20.1" id="rfc.section.20.1">20.1</a> Normative References 1712 1703 </h2> 1713 <table summary="Normative References">1704 <table> 1714 1705 <tr> 1715 1706 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> 1716 <td class="top">International Organization for Standardization, “ 1717 Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1 1718 ”, ISO/IEC 8859-1:1998, 1998. 1719 </td> 1707 <td class="top">International Organization for Standardization, “Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1”, ISO/IEC 8859-1:1998, 1998.</td> 1720 1708 </tr> 1721 1709 <tr> 1722 1710 <td class="reference"><b id="Part1">[Part1]</b></td> 1723 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-02">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-02 (work in progress), February 2008.1711 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-02">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-02 (work in progress), February 2008. 1724 1712 </td> 1725 1713 </tr> 1726 1714 <tr> 1727 1715 <td class="reference"><b id="Part2">[Part2]</b></td> 1728 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-02">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-02 (work in progress), February 2008.1716 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-02">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-02 (work in progress), February 2008. 1729 1717 </td> 1730 1718 </tr> 1731 1719 <tr> 1732 1720 <td class="reference"><b id="Part3">[Part3]</b></td> 1733 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-02">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-02 (work in progress), February 2008.1721 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p3-payload-02">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-02 (work in progress), February 2008. 1734 1722 </td> 1735 1723 </tr> 1736 1724 <tr> 1737 1725 <td class="reference"><b id="Part4">[Part4]</b></td> 1738 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-02">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-02 (work in progress), February 2008.1726 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p4-conditional-02">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-02 (work in progress), February 2008. 1739 1727 </td> 1740 1728 </tr> 1741 1729 <tr> 1742 1730 <td class="reference"><b id="Part5">[Part5]</b></td> 1743 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-02">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-02 (work in progress), February 2008.1731 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-02">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-02 (work in progress), February 2008. 1744 1732 </td> 1745 1733 </tr> 1746 1734 <tr> 1747 1735 <td class="reference"><b id="Part7">[Part7]</b></td> 1748 <td class="top"><a title="Day Software">Fielding, R., Ed.</a>, <a title="One Laptop per Child">Gettys, J.</a>, <a title="Hewlett-Packard Company">Mogul, J.</a>, <a title="Microsoft Corporation">Frystyk, H.</a>, <a title="Adobe Systems, Incorporated">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, <a title="World Wide Web Consortium">Berners-Lee, T.</a>, <a title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a title="greenbytes GmbH">J. F. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-02">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-02 (work in progress), February 2008.1736 <td class="top"><a href="mailto:fielding@gbiv.com" title="Day Software">Fielding, R., Ed.</a>, <a href="mailto:jg@laptop.org" title="One Laptop per Child">Gettys, J.</a>, <a href="mailto:JeffMogul@acm.org" title="Hewlett-Packard Company">Mogul, J.</a>, <a href="mailto:henrikn@microsoft.com" title="Microsoft Corporation">Frystyk, H.</a>, <a href="mailto:LMM@acm.org" title="Adobe Systems, Incorporated">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, <a href="mailto:timbl@w3.org" title="World Wide Web Consortium">Berners-Lee, T.</a>, <a href="mailto:ylafon@w3.org" title="World Wide Web Consortium">Lafon, Y., Ed.</a>, and <a href="mailto:julian.reschke@greenbytes.de" title="greenbytes GmbH">J. Reschke, Ed.</a>, “<a href="http://tools.ietf.org/html/draft-ietf-httpbis-p7-auth-02">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-02 (work in progress), February 2008. 1749 1737 </td> 1750 1738 </tr> 1751 1739 <tr> 1752 1740 <td class="reference"><b id="RFC2047">[RFC2047]</b></td> 1753 <td class="top"><a title="University of Tennessee">Moore, K.</a>, “<a href="http://tools.ietf.org/html/rfc2047">MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text</a>”, RFC 2047, November 1996.1741 <td class="top"><a href="mailto:moore@cs.utk.edu" title="University of Tennessee">Moore, K.</a>, “<a href="http://tools.ietf.org/html/rfc2047">MIME (Multipurpose Internet Mail Extensions) Part Three: Message Header Extensions for Non-ASCII Text</a>”, RFC 2047, November 1996. 1754 1742 </td> 1755 1743 </tr> 1756 1744 <tr> 1757 1745 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1758 <td class="top"><a title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997.1746 <td class="top"><a href="mailto:sob@harvard.edu" title="Harvard University">Bradner, S.</a>, “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>”, BCP 14, RFC 2119, March 1997. 1759 1747 </td> 1760 1748 </tr> … … 1762 1750 <h2 id="rfc.references.2"><a href="#rfc.section.20.2" id="rfc.section.20.2">20.2</a> Informative References 1763 1751 </h2> 1764 <table summary="Informative References">1752 <table> 1765 1753 <tr> 1766 1754 <td class="reference"><b id="RFC1305">[RFC1305]</b></td> 1767 <td class="top"><a title="University of Delaware, Electrical Engineering Department">Mills, D.</a>, “<a href="http://tools.ietf.org/html/rfc1305">Network Time Protocol (Version 3) Specification, Implementation</a>”, RFC 1305, March 1992.1755 <td class="top"><a href="mailto:mills@udel.edu" title="University of Delaware, Electrical Engineering Department">Mills, D.</a>, “<a href="http://tools.ietf.org/html/rfc1305">Network Time Protocol (Version 3) Specification, Implementation</a>”, RFC 1305, March 1992. 1768 1756 </td> 1769 1757 </tr> 1770 1758 <tr> 1771 1759 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 1772 <td class="top"><a title="University of California, Irvine">Fielding, R.</a>, <a title="W3C">Gettys, J.</a>, <a title="Compaq Computer Corporation">Mogul, J.</a>, <a title="MIT Laboratory for Computer Science">Frystyk, H.</a>, <a title="Xerox Corporation">Masinter, L.</a>, <a title="Microsoft Corporation">Leach, P.</a>, and <atitle="W3C">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999.1760 <td class="top"><a href="mailto:fielding@ics.uci.edu" title="University of California, Irvine">Fielding, R.</a>, <a href="mailto:jg@w3.org" title="W3C">Gettys, J.</a>, <a href="mailto:mogul@wrl.dec.com" title="Compaq Computer Corporation">Mogul, J.</a>, <a href="mailto:frystyk@w3.org" title="MIT Laboratory for Computer Science">Frystyk, H.</a>, <a href="mailto:masinter@parc.xerox.com" title="Xerox Corporation">Masinter, L.</a>, <a href="mailto:paulle@microsoft.com" title="Microsoft Corporation">Leach, P.</a>, and <a href="mailto:timbl@w3.org" title="W3C">T. Berners-Lee</a>, “<a href="http://tools.ietf.org/html/rfc2616">Hypertext Transfer Protocol -- HTTP/1.1</a>”, RFC 2616, June 1999. 1773 1761 </td> 1774 1762 </tr> 1775 1763 </table> 1776 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1777 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1778 (editor) 1779 <span class="n hidden"><span class="family-name">Fielding</span><span class="given-name">Roy T.</span></span></span><span class="org vcardline">Day Software</span><span class="adr"><span class="street-address vcardline">23 Corporate Plaza DR, Suite 280</span><span class="vcardline"><span class="locality">Newport Beach</span>, <span class="region">CA</span> <span class="postal-code">92660</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline tel">Phone: <a href="tel:+1-949-706-5300"><span class="value">+1-949-706-5300</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+1-949-706-5305"><span class="value">+1-949-706-5305</span></a></span><span class="vcardline">EMail: <a><span class="email">fielding@gbiv.com</span></a></span><span class="vcardline">URI: <a href="http://roy.gbiv.com/" class="url">http://roy.gbiv.com/</a></span></address> 1780 <address class="vcard"><span class="vcardline"><span class="fn">Jim Gettys</span><span class="n hidden"><span class="family-name">Gettys</span><span class="given-name">Jim</span></span></span><span class="org vcardline">One Laptop per Child</span><span class="adr"><span class="street-address vcardline">21 Oak Knoll Road</span><span class="vcardline"><span class="locality">Carlisle</span>, <span class="region">MA</span> <span class="postal-code">01741</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">jg@laptop.org</span></a></span><span class="vcardline">URI: <a href="http://www.laptop.org/" class="url">http://www.laptop.org/</a></span></address> 1781 <address class="vcard"><span class="vcardline"><span class="fn">Jeffrey C. Mogul</span><span class="n hidden"><span class="family-name">Mogul</span><span class="given-name">Jeffrey C.</span></span></span><span class="org vcardline">Hewlett-Packard Company</span><span class="adr"><span class="street-address vcardline">HP Labs, Large Scale Systems Group</span><span class="street-address vcardline">1501 Page Mill Road, MS 1177</span><span class="vcardline"><span class="locality">Palo Alto</span>, <span class="region">CA</span> <span class="postal-code">94304</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">JeffMogul@acm.org</span></a></span></address> 1782 <address class="vcard"><span class="vcardline"><span class="fn">Henrik Frystyk Nielsen</span><span class="n hidden"><span class="family-name">Frystyk</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">henrikn@microsoft.com</span></a></span></address> 1783 <address class="vcard"><span class="vcardline"><span class="fn">Larry Masinter</span><span class="n hidden"><span class="family-name">Masinter</span><span class="given-name">Larry</span></span></span><span class="org vcardline">Adobe Systems, Incorporated</span><span class="adr"><span class="street-address vcardline">345 Park Ave</span><span class="vcardline"><span class="locality">San Jose</span>, <span class="region">CA</span> <span class="postal-code">95110</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">LMM@acm.org</span></a></span><span class="vcardline">URI: <a href="http://larry.masinter.net/" class="url">http://larry.masinter.net/</a></span></address> 1784 <address class="vcard"><span class="vcardline"><span class="fn">Paul J. Leach</span><span class="n hidden"><span class="family-name">Leach</span><span class="given-name">Paul J.</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span></span><span class="vcardline">EMail: <a><span class="email">paulle@microsoft.com</span></a></span></address> 1785 <address class="vcard"><span class="vcardline"><span class="fn">Tim Berners-Lee</span><span class="n hidden"><span class="family-name">Berners-Lee</span><span class="given-name">Tim</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">MIT Computer Science and Artificial Intelligence Laboratory</span><span class="street-address vcardline">The Stata Center, Building 32</span><span class="street-address vcardline">32 Vassar Street</span><span class="vcardline"><span class="locality">Cambridge</span>, <span class="region">MA</span> <span class="postal-code">02139</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a><span class="email">timbl@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.w3.org/People/Berners-Lee/" class="url">http://www.w3.org/People/Berners-Lee/</a></span></address> 1786 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1787 (editor) 1788 <span class="n hidden"><span class="family-name">Lafon</span><span class="given-name">Yves</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">W3C / ERCIM</span><span class="street-address vcardline">2004, rte des Lucioles</span><span class="vcardline"><span class="locality">Sophia-Antipolis</span>, <span class="region">AM</span> <span class="postal-code">06902</span></span><span class="country-name vcardline">France</span></span><span class="vcardline">EMail: <a><span class="email">ylafon@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.raubacapeu.net/people/yves/" class="url">http://www.raubacapeu.net/people/yves/</a></span></address> 1789 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1790 (editor) 1791 <span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span> <span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+492512807761"><span class="value">+49 251 2807761</span></a></span><span class="vcardline">EMail: <a><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address> 1792 <h1 id="rfc.section.A"><a href="#rfc.section.A">A.</a> <a id="compatibility" href="#compatibility">Compatibility with Previous Versions</a></h1> 1764 <div class="avoidbreak"> 1765 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1766 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1767 (editor) 1768 <span class="n hidden"><span class="family-name">Fielding</span><span class="given-name">Roy T.</span></span></span><span class="org vcardline">Day Software</span><span class="adr"><span class="street-address vcardline">23 Corporate Plaza DR, Suite 280</span><span class="vcardline"><span class="locality">Newport Beach</span>, <span class="region">CA</span> <span class="postal-code">92660</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline tel">Phone: <a href="tel:+1-949-706-5300"><span class="value">+1-949-706-5300</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+1-949-706-5305"><span class="value">+1-949-706-5305</span></a></span><span class="vcardline">EMail: <a href="mailto:fielding@gbiv.com"><span class="email">fielding@gbiv.com</span></a></span><span class="vcardline">URI: <a href="http://roy.gbiv.com/" class="url">http://roy.gbiv.com/</a></span></address> 1769 <address class="vcard"><span class="vcardline"><span class="fn">Jim Gettys</span><span class="n hidden"><span class="family-name">Gettys</span><span class="given-name">Jim</span></span></span><span class="org vcardline">One Laptop per Child</span><span class="adr"><span class="street-address vcardline">21 Oak Knoll Road</span><span class="vcardline"><span class="locality">Carlisle</span>, <span class="region">MA</span> <span class="postal-code">01741</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a href="mailto:jg@laptop.org"><span class="email">jg@laptop.org</span></a></span><span class="vcardline">URI: <a href="http://www.laptop.org/" class="url">http://www.laptop.org/</a></span></address> 1770 <address class="vcard"><span class="vcardline"><span class="fn">Jeffrey C. Mogul</span><span class="n hidden"><span class="family-name">Mogul</span><span class="given-name">Jeffrey C.</span></span></span><span class="org vcardline">Hewlett-Packard Company</span><span class="adr"><span class="street-address vcardline">HP Labs, Large Scale Systems Group</span><span class="street-address vcardline">1501 Page Mill Road, MS 1177</span><span class="vcardline"><span class="locality">Palo Alto</span>, <span class="region">CA</span> <span class="postal-code">94304</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a href="mailto:JeffMogul@acm.org"><span class="email">JeffMogul@acm.org</span></a></span></address> 1771 <address class="vcard"><span class="vcardline"><span class="fn">Henrik Frystyk Nielsen</span><span class="n hidden"><span class="family-name">Frystyk</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a href="mailto:henrikn@microsoft.com"><span class="email">henrikn@microsoft.com</span></a></span></address> 1772 <address class="vcard"><span class="vcardline"><span class="fn">Larry Masinter</span><span class="n hidden"><span class="family-name">Masinter</span><span class="given-name">Larry</span></span></span><span class="org vcardline">Adobe Systems, Incorporated</span><span class="adr"><span class="street-address vcardline">345 Park Ave</span><span class="vcardline"><span class="locality">San Jose</span>, <span class="region">CA</span> <span class="postal-code">95110</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a href="mailto:LMM@acm.org"><span class="email">LMM@acm.org</span></a></span><span class="vcardline">URI: <a href="http://larry.masinter.net/" class="url">http://larry.masinter.net/</a></span></address> 1773 <address class="vcard"><span class="vcardline"><span class="fn">Paul J. Leach</span><span class="n hidden"><span class="family-name">Leach</span><span class="given-name">Paul J.</span></span></span><span class="org vcardline">Microsoft Corporation</span><span class="adr"><span class="street-address vcardline">1 Microsoft Way</span><span class="vcardline"><span class="locality">Redmond</span>, <span class="region">WA</span> <span class="postal-code">98052</span></span></span><span class="vcardline">EMail: <a href="mailto:paulle@microsoft.com"><span class="email">paulle@microsoft.com</span></a></span></address> 1774 <address class="vcard"><span class="vcardline"><span class="fn">Tim Berners-Lee</span><span class="n hidden"><span class="family-name">Berners-Lee</span><span class="given-name">Tim</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">MIT Computer Science and Artificial Intelligence Laboratory</span><span class="street-address vcardline">The Stata Center, Building 32</span><span class="street-address vcardline">32 Vassar Street</span><span class="vcardline"><span class="locality">Cambridge</span>, <span class="region">MA</span> <span class="postal-code">02139</span></span><span class="country-name vcardline">USA</span></span><span class="vcardline">EMail: <a href="mailto:timbl@w3.org"><span class="email">timbl@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.w3.org/People/Berners-Lee/" class="url">http://www.w3.org/People/Berners-Lee/</a></span></address> 1775 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1776 (editor) 1777 <span class="n hidden"><span class="family-name">Lafon</span><span class="given-name">Yves</span></span></span><span class="org vcardline">World Wide Web Consortium</span><span class="adr"><span class="street-address vcardline">W3C / ERCIM</span><span class="street-address vcardline">2004, rte des Lucioles</span><span class="vcardline"><span class="locality">Sophia-Antipolis</span>, <span class="region">AM</span> <span class="postal-code">06902</span></span><span class="country-name vcardline">France</span></span><span class="vcardline">EMail: <a href="mailto:ylafon@w3.org"><span class="email">ylafon@w3.org</span></a></span><span class="vcardline">URI: <a href="http://www.raubacapeu.net/people/yves/" class="url">http://www.raubacapeu.net/people/yves/</a></span></address> 1778 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1779 (editor) 1780 <span class="n hidden"><span class="family-name">Reschke</span><span class="given-name">Julian F.</span></span></span><span class="org vcardline">greenbytes GmbH</span><span class="adr"><span class="street-address vcardline">Hafenweg 16</span><span class="vcardline"><span class="locality">Muenster</span>, <span class="region">NW</span> <span class="postal-code">48155</span></span><span class="country-name vcardline">Germany</span></span><span class="vcardline tel">Phone: <a href="tel:+492512807760"><span class="value">+49 251 2807760</span></a></span><span class="vcardline tel"><span class="type">Fax</span>: <a href="fax:+492512807761"><span class="value">+49 251 2807761</span></a></span><span class="vcardline">EMail: <a href="mailto:julian.reschke@greenbytes.de"><span class="email">julian.reschke@greenbytes.de</span></a></span><span class="vcardline">URI: <a href="http://greenbytes.de/tech/webdav/" class="url">http://greenbytes.de/tech/webdav/</a></span></address> 1781 </div> 1782 <h1 id="rfc.section.A" class="np"><a href="#rfc.section.A">A.</a> <a id="compatibility" href="#compatibility">Compatibility with Previous Versions</a></h1> 1793 1783 <h2 id="rfc.section.A.1"><a href="#rfc.section.A.1">A.1</a> <a id="changes.from.rfc.2068" href="#changes.from.rfc.2068">Changes from RFC 2068</a></h2> 1794 1784 <p id="rfc.section.A.1.p.1">A case was missed in the Cache-Control model of HTTP/1.1; s-maxage was introduced to add this missing case. (Sections <a href="#response.cacheability" title="Response Cacheability">6</a>, <a href="#header.cache-control" id="rfc.xref.header.cache-control.11" title="Cache-Control">16.2</a>, <a href="#modifications.of.the.basic.expiration.mechanism" title="Modifications of the Basic Expiration Mechanism">16.2.3</a>) … … 1857 1847 <li>Add explicit references to BNF syntax and rules imported from other parts of the specification.</li> 1858 1848 </ul> 1849 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1850 <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.I">I</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> 1851 </p> 1852 <div class="print2col"> 1853 <ul class="ind"> 1854 <li><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul> 1855 <li>age <a href="#rfc.iref.a.1">1.2</a></li> 1856 <li>Age header <a href="#rfc.iref.a.2"><b>16.1</b></a></li> 1857 </ul> 1858 </li> 1859 <li><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul> 1860 <li>cache <a href="#rfc.iref.c.1">1.1</a></li> 1861 <li>Cache Directives 1862 <ul> 1863 <li>max-age <a href="#rfc.iref.c.9"><b>16.2.3</b></a>, <a href="#rfc.iref.c.12"><b>16.2.4</b></a></li> 1864 <li>max-stale <a href="#rfc.iref.c.11"><b>16.2.3</b></a></li> 1865 <li>min-fresh <a href="#rfc.iref.c.10"><b>16.2.3</b></a></li> 1866 <li>must-revalidate <a href="#rfc.iref.c.14"><b>16.2.4</b></a></li> 1867 <li>no-cache <a href="#rfc.iref.c.6"><b>16.2.1</b></a></li> 1868 <li>no-store <a href="#rfc.iref.c.7"><b>16.2.2</b></a></li> 1869 <li>no-transform <a href="#rfc.iref.c.16"><b>16.2.5</b></a></li> 1870 <li>only-if-cached <a href="#rfc.iref.c.13"><b>16.2.4</b></a></li> 1871 <li>private <a href="#rfc.iref.c.5"><b>16.2.1</b></a></li> 1872 <li>proxy-revalidate <a href="#rfc.iref.c.15"><b>16.2.4</b></a></li> 1873 <li>public <a href="#rfc.iref.c.4"><b>16.2.1</b></a></li> 1874 <li>s-maxage <a href="#rfc.iref.c.8"><b>16.2.3</b></a></li> 1875 </ul> 1876 </li> 1877 <li>Cache-Control header <a href="#rfc.xref.header.cache-control.1">3.1</a>, <a href="#rfc.xref.header.cache-control.2">3.1</a>, <a href="#rfc.xref.header.cache-control.3">3.3</a>, <a href="#rfc.xref.header.cache-control.4">4.1</a>, <a href="#rfc.xref.header.cache-control.5">4.5</a>, <a href="#rfc.xref.header.cache-control.6">6</a>, <a href="#rfc.xref.header.cache-control.7">6</a>, <a href="#rfc.xref.header.cache-control.8">10</a>, <a href="#rfc.iref.c.3"><b>16.2</b></a>, <a href="#rfc.xref.header.cache-control.9">16.3</a>, <a href="#rfc.xref.header.cache-control.10">16.4</a>, <a href="#rfc.xref.header.cache-control.11">A.1</a></li> 1878 <li>cacheable <a href="#rfc.iref.c.2">1.2</a></li> 1879 </ul> 1880 </li> 1881 <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul> 1882 <li>Expires header <a href="#rfc.xref.header.expires.1">6</a>, <a href="#rfc.xref.header.expires.2">16.2.3</a>, <a href="#rfc.iref.e.2"><b>16.3</b></a></li> 1883 <li>explicit expiration time <a href="#rfc.iref.e.1">1.2</a></li> 1884 </ul> 1885 </li> 1886 <li><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul> 1887 <li>first-hand <a href="#rfc.iref.f.1">1.2</a></li> 1888 <li>fresh <a href="#rfc.iref.f.3">1.2</a></li> 1889 <li>freshness lifetime <a href="#rfc.iref.f.2">1.2</a></li> 1890 </ul> 1891 </li> 1892 <li><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul> 1893 <li><tt>Grammar</tt> 1894 <ul> 1895 <li><tt>Age</tt> <a href="#rfc.iref.g.1"><b>16.1</b></a></li> 1896 <li><tt>age-value</tt> <a href="#rfc.iref.g.2"><b>16.1</b></a></li> 1897 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.4"><b>16.2</b></a></li> 1898 <li><tt>cache-directive</tt> <a href="#rfc.iref.g.5"><b>16.2</b></a></li> 1899 <li><tt>cache-extension</tt> <a href="#rfc.iref.g.8"><b>16.2</b></a></li> 1900 <li><tt>cache-request-directive</tt> <a href="#rfc.iref.g.6"><b>16.2</b></a></li> 1901 <li><tt>cache-response-directive</tt> <a href="#rfc.iref.g.7"><b>16.2</b></a></li> 1902 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.3"><b>16.1</b></a></li> 1903 <li><tt>Expires</tt> <a href="#rfc.iref.g.9"><b>16.3</b></a></li> 1904 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.12"><b>16.4</b></a></li> 1905 <li><tt>Pragma</tt> <a href="#rfc.iref.g.10"><b>16.4</b></a></li> 1906 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.11"><b>16.4</b></a></li> 1907 <li><tt>Vary</tt> <a href="#rfc.iref.g.13"><b>16.5</b></a></li> 1908 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.17"><b>16.6</b></a></li> 1909 <li><tt>warn-code</tt> <a href="#rfc.iref.g.16"><b>16.6</b></a></li> 1910 <li><tt>warn-date</tt> <a href="#rfc.iref.g.19"><b>16.6</b></a></li> 1911 <li><tt>warn-text</tt> <a href="#rfc.iref.g.18"><b>16.6</b></a></li> 1912 <li><tt>Warning</tt> <a href="#rfc.iref.g.14"><b>16.6</b></a></li> 1913 <li><tt>warning-value</tt> <a href="#rfc.iref.g.15"><b>16.6</b></a></li> 1914 </ul> 1915 </li> 1916 </ul> 1917 </li> 1918 <li><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul> 1919 <li>Headers 1920 <ul> 1921 <li>Age <a href="#rfc.iref.h.2"><b>16.1</b></a></li> 1922 <li>Cache-Control <a href="#rfc.xref.header.cache-control.1">3.1</a>, <a href="#rfc.xref.header.cache-control.2">3.1</a>, <a href="#rfc.xref.header.cache-control.3">3.3</a>, <a href="#rfc.xref.header.cache-control.4">4.1</a>, <a href="#rfc.xref.header.cache-control.5">4.5</a>, <a href="#rfc.xref.header.cache-control.6">6</a>, <a href="#rfc.xref.header.cache-control.7">6</a>, <a href="#rfc.xref.header.cache-control.8">10</a>, <a href="#rfc.iref.h.3"><b>16.2</b></a>, <a href="#rfc.xref.header.cache-control.9">16.3</a>, <a href="#rfc.xref.header.cache-control.10">16.4</a>, <a href="#rfc.xref.header.cache-control.11">A.1</a></li> 1923 <li>Expires <a href="#rfc.xref.header.expires.1">6</a>, <a href="#rfc.xref.header.expires.2">16.2.3</a>, <a href="#rfc.iref.h.4"><b>16.3</b></a></li> 1924 <li>Pragma <a href="#rfc.xref.header.pragma.1">16.2</a>, <a href="#rfc.iref.h.5"><b>16.4</b></a></li> 1925 <li>Vary <a href="#rfc.xref.header.vary.1">8</a>, <a href="#rfc.iref.h.6"><b>16.5</b></a></li> 1926 <li>Warning <a href="#rfc.xref.header.warning.1">3.1</a>, <a href="#rfc.xref.header.warning.2">3.2</a>, <a href="#rfc.xref.header.warning.3">3.2</a>, <a href="#rfc.xref.header.warning.4">7.2</a>, <a href="#rfc.xref.header.warning.5">7.3</a>, <a href="#rfc.iref.h.7"><b>16.6</b></a>, <a href="#rfc.xref.header.warning.6">A.1</a></li> 1927 </ul> 1928 </li> 1929 <li>heuristic expiration time <a href="#rfc.iref.h.1">1.2</a></li> 1930 </ul> 1931 </li> 1932 <li><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul> 1933 <li><em>ISO-8859-1</em> <a href="#rfc.xref.ISO-8859-1.1">16.6</a>, <a href="#ISO-8859-1"><b>20.1</b></a></li> 1934 </ul> 1935 </li> 1936 <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul> 1937 <li>max-age 1938 <ul> 1939 <li>Cache Directive <a href="#rfc.iref.m.1"><b>16.2.3</b></a>, <a href="#rfc.iref.m.4"><b>16.2.4</b></a></li> 1940 </ul> 1941 </li> 1942 <li>max-stale 1943 <ul> 1944 <li>Cache Directive <a href="#rfc.iref.m.3"><b>16.2.3</b></a></li> 1945 </ul> 1946 </li> 1947 <li>min-fresh 1948 <ul> 1949 <li>Cache Directive <a href="#rfc.iref.m.2"><b>16.2.3</b></a></li> 1950 </ul> 1951 </li> 1952 <li>must-revalidate 1953 <ul> 1954 <li>Cache Directive <a href="#rfc.iref.m.5"><b>16.2.4</b></a></li> 1955 </ul> 1956 </li> 1957 </ul> 1958 </li> 1959 <li><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul> 1960 <li>no-cache 1961 <ul> 1962 <li>Cache Directive <a href="#rfc.iref.n.1"><b>16.2.1</b></a></li> 1963 </ul> 1964 </li> 1965 <li>no-store 1966 <ul> 1967 <li>Cache Directive <a href="#rfc.iref.n.2"><b>16.2.2</b></a></li> 1968 </ul> 1969 </li> 1970 <li>no-transform 1971 <ul> 1972 <li>Cache Directive <a href="#rfc.iref.n.3"><b>16.2.5</b></a></li> 1973 </ul> 1974 </li> 1975 </ul> 1976 </li> 1977 <li><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul> 1978 <li>only-if-cached 1979 <ul> 1980 <li>Cache Directive <a href="#rfc.iref.o.1"><b>16.2.4</b></a></li> 1981 </ul> 1982 </li> 1983 </ul> 1984 </li> 1985 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 1986 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">2</a>, <a href="#rfc.xref.Part1.2">2</a>, <a href="#rfc.xref.Part1.3">2</a>, <a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.5">2</a>, <a href="#rfc.xref.Part1.6">2</a>, <a href="#rfc.xref.Part1.7">2</a>, <a href="#rfc.xref.Part1.8">2</a>, <a href="#rfc.xref.Part1.9">2</a>, <a href="#rfc.xref.Part1.10">2</a>, <a href="#rfc.xref.Part1.11">2</a>, <a href="#rfc.xref.Part1.12">2</a>, <a href="#rfc.xref.Part1.13">4.3</a>, <a href="#rfc.xref.Part1.14">7.1</a>, <a href="#rfc.xref.Part1.15">7.2</a>, <a href="#rfc.xref.Part1.16">7.2</a>, <a href="#rfc.xref.Part1.17">8</a>, <a href="#rfc.xref.Part1.18">16.3</a>, <a href="#Part1"><b>20.1</b></a>, <a href="#rfc.xref.Part1.19">A.1</a><ul> 1987 <li><em>Section 2.1</em> <a href="#rfc.xref.Part1.1">2</a></li> 1988 <li><em>Section 2.2</em> <a href="#rfc.xref.Part1.2">2</a>, <a href="#rfc.xref.Part1.3">2</a>, <a href="#rfc.xref.Part1.4">2</a>, <a href="#rfc.xref.Part1.5">2</a>, <a href="#rfc.xref.Part1.6">2</a>, <a href="#rfc.xref.Part1.7">2</a></li> 1989 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.10">2</a>, <a href="#rfc.xref.Part1.12">2</a></li> 1990 <li><em>Section 3.3.1</em> <a href="#rfc.xref.Part1.9">2</a>, <a href="#rfc.xref.Part1.18">16.3</a></li> 1991 <li><em>Section 4.2</em> <a href="#rfc.xref.Part1.8">2</a>, <a href="#rfc.xref.Part1.17">8</a></li> 1992 <li><em>Section 4.4</em> <a href="#rfc.xref.Part1.15">7.2</a>, <a href="#rfc.xref.Part1.16">7.2</a></li> 1993 <li><em>Section 8.1</em> <a href="#rfc.xref.Part1.14">7.1</a></li> 1994 <li><em>Section 8.3</em> <a href="#rfc.xref.Part1.13">4.3</a></li> 1995 <li><em>Section 8.9</em> <a href="#rfc.xref.Part1.11">2</a></li> 1996 </ul> 1997 </li> 1998 <li><em>Part2</em> <a href="#rfc.xref.Part2.1">11</a>, <a href="#Part2"><b>20.1</b></a><ul> 1999 <li><em>Section 8.1.1</em> <a href="#rfc.xref.Part2.1">11</a></li> 2000 </ul> 2001 </li> 2002 <li><em>Part3</em> <a href="#rfc.xref.Part3.1">7.2</a>, <a href="#rfc.xref.Part3.2">8</a>, <a href="#Part3"><b>20.1</b></a>, <a href="#rfc.xref.Part3.3">A.1</a><ul> 2003 <li><em>Section 4.2.2</em> <a href="#rfc.xref.Part3.1">7.2</a></li> 2004 <li><em>Section 5.1</em> <a href="#rfc.xref.Part3.2">8</a></li> 2005 </ul> 2006 </li> 2007 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">5</a>, <a href="#Part4"><b>20.1</b></a></li> 2008 <li><em>Part5</em> <a href="#rfc.xref.Part5.1">7.3</a>, <a href="#rfc.xref.Part5.2">10</a>, <a href="#Part5"><b>20.1</b></a>, <a href="#rfc.xref.Part5.3">A.1</a><ul> 2009 <li><em>Section 5</em> <a href="#rfc.xref.Part5.1">7.3</a>, <a href="#rfc.xref.Part5.2">10</a></li> 2010 </ul> 2011 </li> 2012 <li><em>Part7</em> <a href="#rfc.xref.Part7.1">6</a>, <a href="#rfc.xref.Part7.2">16.2.1</a>, <a href="#Part7"><b>20.1</b></a><ul> 2013 <li><em>Section 4.1</em> <a href="#rfc.xref.Part7.1">6</a>, <a href="#rfc.xref.Part7.2">16.2.1</a></li> 2014 </ul> 2015 </li> 2016 <li>Pragma header <a href="#rfc.xref.header.pragma.1">16.2</a>, <a href="#rfc.iref.p.4"><b>16.4</b></a></li> 2017 <li>private 2018 <ul> 2019 <li>Cache Directive <a href="#rfc.iref.p.2"><b>16.2.1</b></a></li> 2020 </ul> 2021 </li> 2022 <li>proxy-revalidate 2023 <ul> 2024 <li>Cache Directive <a href="#rfc.iref.p.3"><b>16.2.4</b></a></li> 2025 </ul> 2026 </li> 2027 <li>public 2028 <ul> 2029 <li>Cache Directive <a href="#rfc.iref.p.1"><b>16.2.1</b></a></li> 2030 </ul> 2031 </li> 2032 </ul> 2033 </li> 2034 <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul> 2035 <li><em>RFC1305</em> <a href="#rfc.xref.RFC1305.1">4.3</a>, <a href="#RFC1305"><b>20.2</b></a></li> 2036 <li><em>RFC2047</em> <a href="#rfc.xref.RFC2047.1">16.6</a>, <a href="#RFC2047"><b>20.1</b></a></li> 2037 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.3</a>, <a href="#RFC2119"><b>20.1</b></a></li> 2038 <li><em>RFC2616</em> <a href="#RFC2616"><b>20.2</b></a>, <a href="#rfc.xref.RFC2616.1">B.1</a></li> 2039 </ul> 2040 </li> 2041 <li><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul> 2042 <li>s-maxage 2043 <ul> 2044 <li>Cache Directive <a href="#rfc.iref.s.3"><b>16.2.3</b></a></li> 2045 </ul> 2046 </li> 2047 <li>semantically transparent <a href="#rfc.iref.s.1">1.1</a></li> 2048 <li>stale <a href="#rfc.iref.s.2">1.2</a></li> 2049 </ul> 2050 </li> 2051 <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul> 2052 <li>validator <a href="#rfc.iref.v.1">1.2</a></li> 2053 <li>Vary header <a href="#rfc.xref.header.vary.1">8</a>, <a href="#rfc.iref.v.2"><b>16.5</b></a></li> 2054 </ul> 2055 </li> 2056 <li><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul> 2057 <li>Warning header <a href="#rfc.xref.header.warning.1">3.1</a>, <a href="#rfc.xref.header.warning.2">3.2</a>, <a href="#rfc.xref.header.warning.3">3.2</a>, <a href="#rfc.xref.header.warning.4">7.2</a>, <a href="#rfc.xref.header.warning.5">7.3</a>, <a href="#rfc.iref.w.1"><b>16.6</b></a>, <a href="#rfc.xref.header.warning.6">A.1</a></li> 2058 </ul> 2059 </li> 2060 </ul> 2061 </div> 1859 2062 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 2063 <p>Copyright © The IETF Trust (2008).</p> 1860 2064 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the 1861 2065 authors retain all their rights. … … 1875 2079 <p>Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result 1876 2080 of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users 1877 of this specification can be obtained from the IETF on-line IPR repository at <<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>>.2081 of this specification can be obtained from the IETF on-line IPR repository at <a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>. 1878 2082 </p> 1879 2083 <p>The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary … … 1881 2085 at <a href="mailto:ietf-ipr@ietf.org">ietf-ipr@ietf.org</a>. 1882 2086 </p> 1883 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>1884 <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.I">I</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>1885 </p>1886 <div class="print2col">1887 <ul class="ind">1888 <li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind">1889 <li class="indline1">age <a class="iref" href="#rfc.iref.a.1">1.2</a></li>1890 <li class="indline1">Age header <a class="iref" href="#rfc.iref.a.2"><b>16.1</b></a></li>1891 </ul>1892 </li>1893 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind">1894 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.1">1.1</a></li>1895 <li class="indline1">Cache Directives 1896 <ul class="ind">1897 <li class="indline1">max-age <a class="iref" href="#rfc.iref.c.9"><b>16.2.3</b></a>, <a class="iref" href="#rfc.iref.c.12"><b>16.2.4</b></a></li>1898 <li class="indline1">max-stale <a class="iref" href="#rfc.iref.c.11"><b>16.2.3</b></a></li>1899 <li class="indline1">min-fresh <a class="iref" href="#rfc.iref.c.10"><b>16.2.3</b></a></li>1900 <li class="indline1">must-revalidate <a class="iref" href="#rfc.iref.c.14"><b>16.2.4</b></a></li>1901 <li class="indline1">no-cache <a class="iref" href="#rfc.iref.c.6"><b>16.2.1</b></a></li>1902 <li class="indline1">no-store <a class="iref" href="#rfc.iref.c.7"><b>16.2.2</b></a></li>1903 <li class="indline1">no-transform <a class="iref" href="#rfc.iref.c.16"><b>16.2.5</b></a></li>1904 <li class="indline1">only-if-cached <a class="iref" href="#rfc.iref.c.13"><b>16.2.4</b></a></li>1905 <li class="indline1">private <a class="iref" href="#rfc.iref.c.5"><b>16.2.1</b></a></li>1906 <li class="indline1">proxy-revalidate <a class="iref" href="#rfc.iref.c.15"><b>16.2.4</b></a></li>1907 <li class="indline1">public <a class="iref" href="#rfc.iref.c.4"><b>16.2.1</b></a></li>1908 <li class="indline1">s-maxage <a class="iref" href="#rfc.iref.c.8"><b>16.2.3</b></a></li>1909 </ul>1910 </li>1911 <li class="indline1">Cache-Control header <a class="iref" href="#rfc.xref.header.cache-control.1">3.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.2">3.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.3">3.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.4">4.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.5">4.5</a>, <a class="iref" href="#rfc.xref.header.cache-control.6">6</a>, <a class="iref" href="#rfc.xref.header.cache-control.7">6</a>, <a class="iref" href="#rfc.xref.header.cache-control.8">10</a>, <a class="iref" href="#rfc.iref.c.3"><b>16.2</b></a>, <a class="iref" href="#rfc.xref.header.cache-control.9">16.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.10">16.4</a>, <a class="iref" href="#rfc.xref.header.cache-control.11">A.1</a></li>1912 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.2">1.2</a></li>1913 </ul>1914 </li>1915 <li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind">1916 <li class="indline1">Expires header <a class="iref" href="#rfc.xref.header.expires.1">6</a>, <a class="iref" href="#rfc.xref.header.expires.2">16.2.3</a>, <a class="iref" href="#rfc.iref.e.2"><b>16.3</b></a></li>1917 <li class="indline1">explicit expiration time <a class="iref" href="#rfc.iref.e.1">1.2</a></li>1918 </ul>1919 </li>1920 <li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind">1921 <li class="indline1">first-hand <a class="iref" href="#rfc.iref.f.1">1.2</a></li>1922 <li class="indline1">fresh <a class="iref" href="#rfc.iref.f.3">1.2</a></li>1923 <li class="indline1">freshness lifetime <a class="iref" href="#rfc.iref.f.2">1.2</a></li>1924 </ul>1925 </li>1926 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind">1927 <li class="indline1"><tt>Grammar</tt> 1928 <ul class="ind">1929 <li class="indline1"><tt>Age</tt> <a class="iref" href="#rfc.iref.g.1"><b>16.1</b></a></li>1930 <li class="indline1"><tt>age-value</tt> <a class="iref" href="#rfc.iref.g.2"><b>16.1</b></a></li>1931 <li class="indline1"><tt>Cache-Control</tt> <a class="iref" href="#rfc.iref.g.4"><b>16.2</b></a></li>1932 <li class="indline1"><tt>cache-directive</tt> <a class="iref" href="#rfc.iref.g.5"><b>16.2</b></a></li>1933 <li class="indline1"><tt>cache-extension</tt> <a class="iref" href="#rfc.iref.g.8"><b>16.2</b></a></li>1934 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>16.2</b></a></li>1935 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.7"><b>16.2</b></a></li>1936 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.3"><b>16.1</b></a></li>1937 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.9"><b>16.3</b></a></li>1938 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.12"><b>16.4</b></a></li>1939 <li class="indline1"><tt>Pragma</tt> <a class="iref" href="#rfc.iref.g.10"><b>16.4</b></a></li>1940 <li class="indline1"><tt>pragma-directive</tt> <a class="iref" href="#rfc.iref.g.11"><b>16.4</b></a></li>1941 <li class="indline1"><tt>Vary</tt> <a class="iref" href="#rfc.iref.g.13"><b>16.5</b></a></li>1942 <li class="indline1"><tt>warn-agent</tt> <a class="iref" href="#rfc.iref.g.17"><b>16.6</b></a></li>1943 <li class="indline1"><tt>warn-code</tt> <a class="iref" href="#rfc.iref.g.16"><b>16.6</b></a></li>1944 <li class="indline1"><tt>warn-date</tt> <a class="iref" href="#rfc.iref.g.19"><b>16.6</b></a></li>1945 <li class="indline1"><tt>warn-text</tt> <a class="iref" href="#rfc.iref.g.18"><b>16.6</b></a></li>1946 <li class="indline1"><tt>Warning</tt> <a class="iref" href="#rfc.iref.g.14"><b>16.6</b></a></li>1947 <li class="indline1"><tt>warning-value</tt> <a class="iref" href="#rfc.iref.g.15"><b>16.6</b></a></li>1948 </ul>1949 </li>1950 </ul>1951 </li>1952 <li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind">1953 <li class="indline1">Headers 1954 <ul class="ind">1955 <li class="indline1">Age <a class="iref" href="#rfc.iref.h.2"><b>16.1</b></a></li>1956 <li class="indline1">Cache-Control <a class="iref" href="#rfc.xref.header.cache-control.1">3.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.2">3.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.3">3.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.4">4.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.5">4.5</a>, <a class="iref" href="#rfc.xref.header.cache-control.6">6</a>, <a class="iref" href="#rfc.xref.header.cache-control.7">6</a>, <a class="iref" href="#rfc.xref.header.cache-control.8">10</a>, <a class="iref" href="#rfc.iref.h.3"><b>16.2</b></a>, <a class="iref" href="#rfc.xref.header.cache-control.9">16.3</a>, <a class="iref" href="#rfc.xref.header.cache-control.10">16.4</a>, <a class="iref" href="#rfc.xref.header.cache-control.11">A.1</a></li>1957 <li class="indline1">Expires <a class="iref" href="#rfc.xref.header.expires.1">6</a>, <a class="iref" href="#rfc.xref.header.expires.2">16.2.3</a>, <a class="iref" href="#rfc.iref.h.4"><b>16.3</b></a></li>1958 <li class="indline1">Pragma <a class="iref" href="#rfc.xref.header.pragma.1">16.2</a>, <a class="iref" href="#rfc.iref.h.5"><b>16.4</b></a></li>1959 <li class="indline1">Vary <a class="iref" href="#rfc.xref.header.vary.1">8</a>, <a class="iref" href="#rfc.iref.h.6"><b>16.5</b></a></li>1960 <li class="indline1">Warning <a class="iref" href="#rfc.xref.header.warning.1">3.1</a>, <a class="iref" href="#rfc.xref.header.warning.2">3.2</a>, <a class="iref" href="#rfc.xref.header.warning.3">3.2</a>, <a class="iref" href="#rfc.xref.header.warning.4">7.2</a>, <a class="iref" href="#rfc.xref.header.warning.5">7.3</a>, <a class="iref" href="#rfc.iref.h.7"><b>16.6</b></a>, <a class="iref" href="#rfc.xref.header.warning.6">A.1</a></li>1961 </ul>1962 </li>1963 <li class="indline1">heuristic expiration time <a class="iref" href="#rfc.iref.h.1">1.2</a></li>1964 </ul>1965 </li>1966 <li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind">1967 <li class="indline1"><em>ISO-8859-1</em> <a class="iref" href="#rfc.xref.ISO-8859-1.1">16.6</a>, <a class="iref" href="#ISO-8859-1"><b>20.1</b></a></li>1968 </ul>1969 </li>1970 <li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind">1971 <li class="indline1">max-age 1972 <ul class="ind">1973 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.1"><b>16.2.3</b></a>, <a class="iref" href="#rfc.iref.m.4"><b>16.2.4</b></a></li>1974 </ul>1975 </li>1976 <li class="indline1">max-stale 1977 <ul class="ind">1978 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.3"><b>16.2.3</b></a></li>1979 </ul>1980 </li>1981 <li class="indline1">min-fresh 1982 <ul class="ind">1983 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.2"><b>16.2.3</b></a></li>1984 </ul>1985 </li>1986 <li class="indline1">must-revalidate 1987 <ul class="ind">1988 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.5"><b>16.2.4</b></a></li>1989 </ul>1990 </li>1991 </ul>1992 </li>1993 <li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind">1994 <li class="indline1">no-cache 1995 <ul class="ind">1996 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.1"><b>16.2.1</b></a></li>1997 </ul>1998 </li>1999 <li class="indline1">no-store 2000 <ul class="ind">2001 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.2"><b>16.2.2</b></a></li>2002 </ul>2003 </li>2004 <li class="indline1">no-transform 2005 <ul class="ind">2006 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.3"><b>16.2.5</b></a></li>2007 </ul>2008 </li>2009 </ul>2010 </li>2011 <li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind">2012 <li class="indline1">only-if-cached 2013 <ul class="ind">2014 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.o.1"><b>16.2.4</b></a></li>2015 </ul>2016 </li>2017 </ul>2018 </li>2019 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind">2020 <li class="indline1"><em>Part1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a>, <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a>, <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a>, <a class="iref" href="#rfc.xref.Part1.13">4.3</a>, <a class="iref" href="#rfc.xref.Part1.14">7.1</a>, <a class="iref" href="#rfc.xref.Part1.15">7.2</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">8</a>, <a class="iref" href="#rfc.xref.Part1.18">16.3</a>, <a class="iref" href="#Part1"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part1.19">A.1</a><ul class="ind">2021 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li>2022 <li class="indline1"><em>Section 2.2</em> <a class="iref" href="#rfc.xref.Part1.2">2</a>, <a class="iref" href="#rfc.xref.Part1.3">2</a>, <a class="iref" href="#rfc.xref.Part1.4">2</a>, <a class="iref" href="#rfc.xref.Part1.5">2</a>, <a class="iref" href="#rfc.xref.Part1.6">2</a>, <a class="iref" href="#rfc.xref.Part1.7">2</a></li>2023 <li class="indline1"><em>Section 3.2.1</em> <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.12">2</a></li>2024 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.18">16.3</a></li>2025 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.8">2</a>, <a class="iref" href="#rfc.xref.Part1.17">8</a></li>2026 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.15">7.2</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a></li>2027 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.14">7.1</a></li>2028 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.13">4.3</a></li>2029 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.11">2</a></li>2030 </ul>2031 </li>2032 <li class="indline1"><em>Part2</em> <a class="iref" href="#rfc.xref.Part2.1">11</a>, <a class="iref" href="#Part2"><b>20.1</b></a><ul class="ind">2033 <li class="indline1"><em>Section 8.1.1</em> <a class="iref" href="#rfc.xref.Part2.1">11</a></li>2034 </ul>2035 </li>2036 <li class="indline1"><em>Part3</em> <a class="iref" href="#rfc.xref.Part3.1">7.2</a>, <a class="iref" href="#rfc.xref.Part3.2">8</a>, <a class="iref" href="#Part3"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part3.3">A.1</a><ul class="ind">2037 <li class="indline1"><em>Section 4.2.2</em> <a class="iref" href="#rfc.xref.Part3.1">7.2</a></li>2038 <li class="indline1"><em>Section 5.1</em> <a class="iref" href="#rfc.xref.Part3.2">8</a></li>2039 </ul>2040 </li>2041 <li class="indline1"><em>Part4</em> <a class="iref" href="#rfc.xref.Part4.1">5</a>, <a class="iref" href="#Part4"><b>20.1</b></a></li>2042 <li class="indline1"><em>Part5</em> <a class="iref" href="#rfc.xref.Part5.1">7.3</a>, <a class="iref" href="#rfc.xref.Part5.2">10</a>, <a class="iref" href="#Part5"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part5.3">A.1</a><ul class="ind">2043 <li class="indline1"><em>Section 5</em> <a class="iref" href="#rfc.xref.Part5.1">7.3</a>, <a class="iref" href="#rfc.xref.Part5.2">10</a></li>2044 </ul>2045 </li>2046 <li class="indline1"><em>Part7</em> <a class="iref" href="#rfc.xref.Part7.1">6</a>, <a class="iref" href="#rfc.xref.Part7.2">16.2.1</a>, <a class="iref" href="#Part7"><b>20.1</b></a><ul class="ind">2047 <li class="indline1"><em>Section 4.1</em> <a class="iref" href="#rfc.xref.Part7.1">6</a>, <a class="iref" href="#rfc.xref.Part7.2">16.2.1</a></li>2048 </ul>2049 </li>2050 <li class="indline1">Pragma header <a class="iref" href="#rfc.xref.header.pragma.1">16.2</a>, <a class="iref" href="#rfc.iref.p.4"><b>16.4</b></a></li>2051 <li class="indline1">private 2052 <ul class="ind">2053 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.2"><b>16.2.1</b></a></li>2054 </ul>2055 </li>2056 <li class="indline1">proxy-revalidate 2057 <ul class="ind">2058 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.3"><b>16.2.4</b></a></li>2059 </ul>2060 </li>2061 <li class="indline1">public 2062 <ul class="ind">2063 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.1"><b>16.2.1</b></a></li>2064 </ul>2065 </li>2066 </ul>2067 </li>2068 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind">2069 <li class="indline1"><em>RFC1305</em> <a class="iref" href="#rfc.xref.RFC1305.1">4.3</a>, <a class="iref" href="#RFC1305"><b>20.2</b></a></li>2070 <li class="indline1"><em>RFC2047</em> <a class="iref" href="#rfc.xref.RFC2047.1">16.6</a>, <a class="iref" href="#RFC2047"><b>20.1</b></a></li>2071 <li class="indline1"><em>RFC2119</em> <a class="iref" href="#rfc.xref.RFC2119.1">1.3</a>, <a class="iref" href="#RFC2119"><b>20.1</b></a></li>2072 <li class="indline1"><em>RFC2616</em> <a class="iref" href="#RFC2616"><b>20.2</b></a>, <a class="iref" href="#rfc.xref.RFC2616.1">B.1</a></li>2073 </ul>2074 </li>2075 <li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind">2076 <li class="indline1">s-maxage 2077 <ul class="ind">2078 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.s.3"><b>16.2.3</b></a></li>2079 </ul>2080 </li>2081 <li class="indline1">semantically transparent <a class="iref" href="#rfc.iref.s.1">1.1</a></li>2082 <li class="indline1">stale <a class="iref" href="#rfc.iref.s.2">1.2</a></li>2083 </ul>2084 </li>2085 <li class="indline0"><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul class="ind">2086 <li class="indline1">validator <a class="iref" href="#rfc.iref.v.1">1.2</a></li>2087 <li class="indline1">Vary header <a class="iref" href="#rfc.xref.header.vary.1">8</a>, <a class="iref" href="#rfc.iref.v.2"><b>16.5</b></a></li>2088 </ul>2089 </li>2090 <li class="indline0"><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul class="ind">2091 <li class="indline1">Warning header <a class="iref" href="#rfc.xref.header.warning.1">3.1</a>, <a class="iref" href="#rfc.xref.header.warning.2">3.2</a>, <a class="iref" href="#rfc.xref.header.warning.3">3.2</a>, <a class="iref" href="#rfc.xref.header.warning.4">7.2</a>, <a class="iref" href="#rfc.xref.header.warning.5">7.3</a>, <a class="iref" href="#rfc.iref.w.1"><b>16.6</b></a>, <a class="iref" href="#rfc.xref.header.warning.6">A.1</a></li>2092 </ul>2093 </li>2094 </ul>2095 </div>2096 2087 </body> 2097 2088 </html>
Note: See TracChangeset
for help on using the changeset viewer.