Changeset 1099 for draft-ietf-httpbis/04/p6-cache.html
- Timestamp:
- 01/01/11 17:23:02 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/04/p6-cache.html
r314 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 } … … 166 152 border-width: 1px; 167 153 } 154 table.left { 155 margin-right: auto; 156 } 157 table.right { 158 margin-left: auto; 159 } 160 table.center { 161 margin-left: auto; 162 margin-right: auto; 163 } 164 caption { 165 caption-side: bottom; 166 font-weight: bold; 167 font-size: 9pt; 168 margin-top: .5em; 169 } 170 168 171 table.header { 172 border-spacing: 1px; 169 173 width: 95%; 170 174 font-size: 10pt; … … 178 182 white-space: nowrap; 179 183 } 180 t d.header{184 table.header td { 181 185 background-color: gray; 182 186 width: 50%; 183 187 } 184 t d.header a {188 table.header a { 185 189 color: white; 186 190 } … … 193 197 display:table-header-group; 194 198 } 195 ul.toc {199 ul.toc, ul.toc ul { 196 200 list-style: none; 197 201 margin-left: 1.5em; … … 199 203 padding-left: 0em; 200 204 } 201 li.tocline0{205 ul.toc li { 202 206 line-height: 150%; 203 207 font-weight: bold; … … 206 210 margin-right: 0em; 207 211 } 208 li.tocline1{212 ul.toc li li { 209 213 line-height: normal; 210 214 font-weight: normal; … … 213 217 margin-right: 0em; 214 218 } 215 li. tocline2{219 li.excluded { 216 220 font-size: 0pt; 217 221 } … … 219 223 margin-left: 0em; 220 224 } 221 ul.ind {225 ul.ind, ul.ind ul { 222 226 list-style: none; 223 227 margin-left: 1.5em; 224 228 margin-right: 0em; 225 229 padding-left: 0em; 226 } 227 li.indline0 { 230 page-break-before: avoid; 231 } 232 ul.ind li { 228 233 font-weight: bold; 229 234 line-height: 200%; … … 231 236 margin-right: 0em; 232 237 } 233 li.indline1{238 ul.ind li li { 234 239 font-weight: normal; 235 240 line-height: 150%; 236 241 margin-left: 0em; 237 242 margin-right: 0em; 243 } 244 .avoidbreak { 245 page-break-inside: avoid; 238 246 } 239 247 .bcp14 { … … 320 328 } 321 329 322 a.iref{330 ul.ind li li a { 323 331 content: target-counter(attr(href), page); 324 332 } … … 333 341 @page { 334 342 @top-left { 335 content: "I NTERNET DRAFT";343 content: "Internet-Draft"; 336 344 } 337 345 @top-right { … … 389 397 <link rel="Appendix" title="A Compatibility with Previous Versions" href="#rfc.section.A"> 390 398 <link rel="Appendix" title="B Change Log (to be removed by RFC Editor before publication)" href="#rfc.section.B"> 391 <meta name="generator" content="http://greenbytes.de/tech/webdav/rfc2629.xslt, Revision 1.387, 2008-08-08 13:06:55, XSLT vendor: SAXON 8.9 from Saxonica http://www.saxonica.com/"> 392 <link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"> 393 <meta name="DC.Creator" content="Fielding, R."> 394 <meta name="DC.Creator" content="Gettys, J."> 395 <meta name="DC.Creator" content="Mogul, J."> 396 <meta name="DC.Creator" content="Frystyk, H."> 397 <meta name="DC.Creator" content="Masinter, L."> 398 <meta name="DC.Creator" content="Leach, P."> 399 <meta name="DC.Creator" content="Berners-Lee, T."> 400 <meta name="DC.Creator" content="Lafon, Y."> 401 <meta name="DC.Creator" content="Reschke, J. F."> 402 <meta name="DC.Identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-04"> 403 <meta name="DC.Date.Issued" scheme="ISO8601" content="2008-08"> 404 <meta name="DC.Relation.Replaces" content="urn:ietf:rfc:2616"> 405 <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."> 399 <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/"> 400 <link rel="schema.dct" href="http://purl.org/dc/terms/"> 401 <meta name="dct.creator" content="Fielding, R."> 402 <meta name="dct.creator" content="Gettys, J."> 403 <meta name="dct.creator" content="Mogul, J."> 404 <meta name="dct.creator" content="Frystyk, H."> 405 <meta name="dct.creator" content="Masinter, L."> 406 <meta name="dct.creator" content="Leach, P."> 407 <meta name="dct.creator" content="Berners-Lee, T."> 408 <meta name="dct.creator" content="Lafon, Y."> 409 <meta name="dct.creator" content="Reschke, J. F."> 410 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-04"> 411 <meta name="dct.issued" scheme="ISO8601" content="2008-08-29"> 412 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 413 <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."> 414 <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."> 406 415 </head> 407 416 <body> 408 <table summary="header information" class="header" border="0" cellpadding="1" cellspacing="1"> 409 <tr> 410 <td class="header left">Network Working Group</td> 411 <td class="header right">R. Fielding, Editor</td> 412 </tr> 413 <tr> 414 <td class="header left">Internet Draft</td> 415 <td class="header right">Day Software</td> 416 </tr> 417 <tr> 418 <td class="header left"> 419 <draft-ietf-httpbis-p6-cache-04> 420 421 </td> 422 <td class="header right">J. Gettys</td> 423 </tr> 424 <tr> 425 <td class="header left">Obsoletes: <a href="http://tools.ietf.org/html/rfc2616">2616</a> (if approved) 426 </td> 427 <td class="header right">One Laptop per Child</td> 428 </tr> 429 <tr> 430 <td class="header left">Intended status: Standards Track</td> 431 <td class="header right">J. Mogul</td> 432 </tr> 433 <tr> 434 <td class="header left">Expires: February 2009</td> 435 <td class="header right">HP</td> 436 </tr> 437 <tr> 438 <td class="header left"></td> 439 <td class="header right">H. Frystyk</td> 440 </tr> 441 <tr> 442 <td class="header left"></td> 443 <td class="header right">Microsoft</td> 444 </tr> 445 <tr> 446 <td class="header left"></td> 447 <td class="header right">L. Masinter</td> 448 </tr> 449 <tr> 450 <td class="header left"></td> 451 <td class="header right">Adobe Systems</td> 452 </tr> 453 <tr> 454 <td class="header left"></td> 455 <td class="header right">P. Leach</td> 456 </tr> 457 <tr> 458 <td class="header left"></td> 459 <td class="header right">Microsoft</td> 460 </tr> 461 <tr> 462 <td class="header left"></td> 463 <td class="header right">T. Berners-Lee</td> 464 </tr> 465 <tr> 466 <td class="header left"></td> 467 <td class="header right">W3C/MIT</td> 468 </tr> 469 <tr> 470 <td class="header left"></td> 471 <td class="header right">Y. Lafon, Editor</td> 472 </tr> 473 <tr> 474 <td class="header left"></td> 475 <td class="header right">W3C</td> 476 </tr> 477 <tr> 478 <td class="header left"></td> 479 <td class="header right">J. F. Reschke, Editor</td> 480 </tr> 481 <tr> 482 <td class="header left"></td> 483 <td class="header right">greenbytes</td> 484 </tr> 485 <tr> 486 <td class="header left"></td> 487 <td class="header right">August 29, 2008</td> 488 </tr> 417 <table class="header"> 418 <tbody> 419 <tr> 420 <td class="left">Network Working Group</td> 421 <td class="right">R. Fielding, Editor</td> 422 </tr> 423 <tr> 424 <td class="left">Internet-Draft</td> 425 <td class="right">Day Software</td> 426 </tr> 427 <tr> 428 <td class="left">Obsoletes: <a href="http://tools.ietf.org/html/rfc2616">2616</a> (if approved) 429 </td> 430 <td class="right">J. Gettys</td> 431 </tr> 432 <tr> 433 <td class="left">Intended status: Standards Track</td> 434 <td class="right">One Laptop per Child</td> 435 </tr> 436 <tr> 437 <td class="left">Expires: March 2, 2009</td> 438 <td class="right">J. Mogul</td> 439 </tr> 440 <tr> 441 <td class="left"></td> 442 <td class="right">HP</td> 443 </tr> 444 <tr> 445 <td class="left"></td> 446 <td class="right">H. Frystyk</td> 447 </tr> 448 <tr> 449 <td class="left"></td> 450 <td class="right">Microsoft</td> 451 </tr> 452 <tr> 453 <td class="left"></td> 454 <td class="right">L. Masinter</td> 455 </tr> 456 <tr> 457 <td class="left"></td> 458 <td class="right">Adobe Systems</td> 459 </tr> 460 <tr> 461 <td class="left"></td> 462 <td class="right">P. Leach</td> 463 </tr> 464 <tr> 465 <td class="left"></td> 466 <td class="right">Microsoft</td> 467 </tr> 468 <tr> 469 <td class="left"></td> 470 <td class="right">T. Berners-Lee</td> 471 </tr> 472 <tr> 473 <td class="left"></td> 474 <td class="right">W3C/MIT</td> 475 </tr> 476 <tr> 477 <td class="left"></td> 478 <td class="right">Y. Lafon, Editor</td> 479 </tr> 480 <tr> 481 <td class="left"></td> 482 <td class="right">W3C</td> 483 </tr> 484 <tr> 485 <td class="left"></td> 486 <td class="right">J. Reschke, Editor</td> 487 </tr> 488 <tr> 489 <td class="left"></td> 490 <td class="right">greenbytes</td> 491 </tr> 492 <tr> 493 <td class="left"></td> 494 <td class="right">August 29, 2008</td> 495 </tr> 496 </tbody> 489 497 </table> 490 498 <p class="title">HTTP/1.1, part 6: Caching<br><span class="filename">draft-ietf-httpbis-p6-cache-04</span></p> … … 501 509 in progress”. 502 510 </p> 503 <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>>.504 </p> 505 <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>>.506 </p> 507 <p>This Internet-Draft will expire in February2009.</p>511 <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>. 512 </p> 513 <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>. 514 </p> 515 <p>This Internet-Draft will expire on March 2, 2009.</p> 508 516 <h1 id="rfc.abstract"><a href="#rfc.abstract">Abstract</a></h1> 509 517 <p>The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information … … 522 530 <h1 class="np" id="rfc.toc"><a href="#rfc.toc">Table of Contents</a></h1> 523 531 <ul class="toc"> 524 <li class="tocline0">1. <a href="#caching">Introduction</a><ul class="toc">525 <li class="tocline1">1.1 <a href="#intro.purpose">Purpose</a></li>526 <li class="tocline1">1.2 <a href="#intro.terminology">Terminology</a></li>527 <li class="tocline1">1.3 <a href="#intro.requirements">Requirements</a></li>532 <li>1. <a href="#caching">Introduction</a><ul> 533 <li>1.1 <a href="#intro.purpose">Purpose</a></li> 534 <li>1.2 <a href="#intro.terminology">Terminology</a></li> 535 <li>1.3 <a href="#intro.requirements">Requirements</a></li> 528 536 </ul> 529 537 </li> 530 <li class="tocline0">2. <a href="#notation">Notational Conventions and Generic Grammar</a></li>531 <li class="tocline0">3. <a href="#caching.overview">Overview</a><ul class="toc">532 <li class="tocline1">3.1 <a href="#cache.correctness">Cache Correctness</a></li>533 <li class="tocline1">3.2 <a href="#warnings">Warnings</a></li>534 <li class="tocline1">3.3 <a href="#cache-control.mechanisms">Cache-control Mechanisms</a></li>535 <li class="tocline1">3.4 <a href="#explicit.ua.warnings">Explicit User Agent Warnings</a></li>536 <li class="tocline1">3.5 <a href="#exceptions.to.the.rules.and.warnings">Exceptions to the Rules and Warnings</a></li>537 <li class="tocline1">3.6 <a href="#client-controlled.behavior">Client-controlled Behavior</a></li>538 <li>2. <a href="#notation">Notational Conventions and Generic Grammar</a></li> 539 <li>3. <a href="#caching.overview">Overview</a><ul> 540 <li>3.1 <a href="#cache.correctness">Cache Correctness</a></li> 541 <li>3.2 <a href="#warnings">Warnings</a></li> 542 <li>3.3 <a href="#cache-control.mechanisms">Cache-control Mechanisms</a></li> 543 <li>3.4 <a href="#explicit.ua.warnings">Explicit User Agent Warnings</a></li> 544 <li>3.5 <a href="#exceptions.to.the.rules.and.warnings">Exceptions to the Rules and Warnings</a></li> 545 <li>3.6 <a href="#client-controlled.behavior">Client-controlled Behavior</a></li> 538 546 </ul> 539 547 </li> 540 <li class="tocline0">4. <a href="#expiration.model">Expiration Model</a><ul class="toc">541 <li class="tocline1">4.1 <a href="#server-specified.expiration">Server-Specified Expiration</a></li>542 <li class="tocline1">4.2 <a href="#heuristic.expiration">Heuristic Expiration</a></li>543 <li class="tocline1">4.3 <a href="#age.calculations">Age Calculations</a></li>544 <li class="tocline1">4.4 <a href="#expiration.calculations">Expiration Calculations</a></li>545 <li class="tocline1">4.5 <a href="#disambiguating.expiration.values">Disambiguating Expiration Values</a></li>546 <li class="tocline1">4.6 <a href="#disambiguating.multiple.responses">Disambiguating Multiple Responses</a></li>548 <li>4. <a href="#expiration.model">Expiration Model</a><ul> 549 <li>4.1 <a href="#server-specified.expiration">Server-Specified Expiration</a></li> 550 <li>4.2 <a href="#heuristic.expiration">Heuristic Expiration</a></li> 551 <li>4.3 <a href="#age.calculations">Age Calculations</a></li> 552 <li>4.4 <a href="#expiration.calculations">Expiration Calculations</a></li> 553 <li>4.5 <a href="#disambiguating.expiration.values">Disambiguating Expiration Values</a></li> 554 <li>4.6 <a href="#disambiguating.multiple.responses">Disambiguating Multiple Responses</a></li> 547 555 </ul> 548 556 </li> 549 <li class="tocline0">5. <a href="#validation.model">Validation Model</a></li>550 <li class="tocline0">6. <a href="#response.cacheability">Response Cacheability</a></li>551 <li class="tocline0">7. <a href="#constructing.responses.from.caches">Constructing Responses From Caches</a><ul class="toc">552 <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>553 <li class="tocline1">7.2 <a href="#non-modifiable.headers">Non-modifiable Headers</a></li>554 <li class="tocline1">7.3 <a href="#combining.headers">Combining Headers</a></li>557 <li>5. <a href="#validation.model">Validation Model</a></li> 558 <li>6. <a href="#response.cacheability">Response Cacheability</a></li> 559 <li>7. <a href="#constructing.responses.from.caches">Constructing Responses From Caches</a><ul> 560 <li>7.1 <a href="#end-to-end.and.hop-by-hop.headers">End-to-end and Hop-by-hop Headers</a></li> 561 <li>7.2 <a href="#non-modifiable.headers">Non-modifiable Headers</a></li> 562 <li>7.3 <a href="#combining.headers">Combining Headers</a></li> 555 563 </ul> 556 564 </li> 557 <li class="tocline0">8. <a href="#caching.negotiated.responses">Caching Negotiated Responses</a></li>558 <li class="tocline0">9. <a href="#shared.and.non-shared.caches">Shared and Non-Shared Caches</a></li>559 <li class="tocline0">10. <a href="#errors.or.incomplete.response.cache.behavior">Errors or Incomplete Response Cache Behavior</a></li>560 <li class="tocline0">11. <a href="#side.effects.of.get.and.head">Side Effects of GET and HEAD</a></li>561 <li class="tocline0">12. <a href="#invalidation.after.updates.or.deletions">Invalidation After Updates or Deletions</a></li>562 <li class="tocline0">13. <a href="#write-through.mandatory">Write-Through Mandatory</a></li>563 <li class="tocline0">14. <a href="#cache.replacement">Cache Replacement</a></li>564 <li class="tocline0">15. <a href="#history.lists">History Lists</a></li>565 <li class="tocline0">16. <a href="#header.fields">Header Field Definitions</a><ul class="toc">566 <li class="tocline1">16.1 <a href="#header.age">Age</a></li>567 <li class="tocline1">16.2 <a href="#header.cache-control">Cache-Control</a><ul class="toc">568 <li class="tocline1">16.2.1 <a href="#what.is.cacheable">What is Cacheable</a></li>569 <li class="tocline1">16.2.2 <a href="#what.may.be.stored.by.caches">What May be Stored by Caches</a></li>570 <li class="tocline1">16.2.3 <a href="#modifications.of.the.basic.expiration.mechanism">Modifications of the Basic Expiration Mechanism</a></li>571 <li class="tocline1">16.2.4 <a href="#cache.revalidation.and.reload.controls">Cache Revalidation and Reload Controls</a></li>572 <li class="tocline1">16.2.5 <a href="#no-transform.directive">No-Transform Directive</a></li>573 <li class="tocline1">16.2.6 <a href="#cache.control.extensions">Cache Control Extensions</a></li>565 <li>8. <a href="#caching.negotiated.responses">Caching Negotiated Responses</a></li> 566 <li>9. <a href="#shared.and.non-shared.caches">Shared and Non-Shared Caches</a></li> 567 <li>10. <a href="#errors.or.incomplete.response.cache.behavior">Errors or Incomplete Response Cache Behavior</a></li> 568 <li>11. <a href="#side.effects.of.get.and.head">Side Effects of GET and HEAD</a></li> 569 <li>12. <a href="#invalidation.after.updates.or.deletions">Invalidation After Updates or Deletions</a></li> 570 <li>13. <a href="#write-through.mandatory">Write-Through Mandatory</a></li> 571 <li>14. <a href="#cache.replacement">Cache Replacement</a></li> 572 <li>15. <a href="#history.lists">History Lists</a></li> 573 <li>16. <a href="#header.fields">Header Field Definitions</a><ul> 574 <li>16.1 <a href="#header.age">Age</a></li> 575 <li>16.2 <a href="#header.cache-control">Cache-Control</a><ul> 576 <li>16.2.1 <a href="#what.is.cacheable">What is Cacheable</a></li> 577 <li>16.2.2 <a href="#what.may.be.stored.by.caches">What May be Stored by Caches</a></li> 578 <li>16.2.3 <a href="#modifications.of.the.basic.expiration.mechanism">Modifications of the Basic Expiration Mechanism</a></li> 579 <li>16.2.4 <a href="#cache.revalidation.and.reload.controls">Cache Revalidation and Reload Controls</a></li> 580 <li>16.2.5 <a href="#no-transform.directive">No-Transform Directive</a></li> 581 <li>16.2.6 <a href="#cache.control.extensions">Cache Control Extensions</a></li> 574 582 </ul> 575 583 </li> 576 <li class="tocline1">16.3 <a href="#header.expires">Expires</a></li>577 <li class="tocline1">16.4 <a href="#header.pragma">Pragma</a></li>578 <li class="tocline1">16.5 <a href="#header.vary">Vary</a></li>579 <li class="tocline1">16.6 <a href="#header.warning">Warning</a></li>584 <li>16.3 <a href="#header.expires">Expires</a></li> 585 <li>16.4 <a href="#header.pragma">Pragma</a></li> 586 <li>16.5 <a href="#header.vary">Vary</a></li> 587 <li>16.6 <a href="#header.warning">Warning</a></li> 580 588 </ul> 581 589 </li> 582 <li class="tocline0">17. <a href="#IANA.considerations">IANA Considerations</a><ul class="toc">583 <li class="tocline1">17.1 <a href="#message.header.registration">Message Header Registration</a></li>590 <li>17. <a href="#IANA.considerations">IANA Considerations</a><ul> 591 <li>17.1 <a href="#message.header.registration">Message Header Registration</a></li> 584 592 </ul> 585 593 </li> 586 <li class="tocline0">18. <a href="#security.considerations">Security Considerations</a></li>587 <li class="tocline0">19. <a href="#ack">Acknowledgments</a></li>588 <li class="tocline0">20. <a href="#rfc.references">References</a><ul class="toc">589 <li class="tocline1">20.1 <a href="#rfc.references.1">Normative References</a></li>590 <li class="tocline1">20.2 <a href="#rfc.references.2">Informative References</a></li>594 <li>18. <a href="#security.considerations">Security Considerations</a></li> 595 <li>19. <a href="#ack">Acknowledgments</a></li> 596 <li>20. <a href="#rfc.references">References</a><ul> 597 <li>20.1 <a href="#rfc.references.1">Normative References</a></li> 598 <li>20.2 <a href="#rfc.references.2">Informative References</a></li> 591 599 </ul> 592 600 </li> 593 <li class="tocline0"><a href="#rfc.authors">Authors' Addresses</a></li>594 <li class="tocline0">A. <a href="#compatibility">Compatibility with Previous Versions</a><ul class="toc">595 <li class="tocline1">A.1 <a href="#changes.from.rfc.2068">Changes from RFC 2068</a></li>596 <li class="tocline1">A.2 <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li>601 <li><a href="#rfc.authors">Authors' Addresses</a></li> 602 <li>A. <a href="#compatibility">Compatibility with Previous Versions</a><ul> 603 <li>A.1 <a href="#changes.from.rfc.2068">Changes from RFC 2068</a></li> 604 <li>A.2 <a href="#changes.from.rfc.2616">Changes from RFC 2616</a></li> 597 605 </ul> 598 606 </li> 599 <li class="tocline0">B. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul class="toc">600 <li class="tocline1">B.1 <a href="#rfc.section.B.1">Since RFC2616</a></li>601 <li class="tocline1">B.2 <a href="#rfc.section.B.2">Since draft-ietf-httpbis-p6-cache-00</a></li>602 <li class="tocline1">B.3 <a href="#rfc.section.B.3">Since draft-ietf-httpbis-p6-cache-01</a></li>603 <li class="tocline1">B.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p6-cache-02</a></li>604 <li class="tocline1">B.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p6-cache-03</a></li>607 <li>B. <a href="#change.log">Change Log (to be removed by RFC Editor before publication)</a><ul> 608 <li>B.1 <a href="#rfc.section.B.1">Since RFC2616</a></li> 609 <li>B.2 <a href="#rfc.section.B.2">Since draft-ietf-httpbis-p6-cache-00</a></li> 610 <li>B.3 <a href="#rfc.section.B.3">Since draft-ietf-httpbis-p6-cache-01</a></li> 611 <li>B.4 <a href="#changes.since.02">Since draft-ietf-httpbis-p6-cache-02</a></li> 612 <li>B.5 <a href="#changes.since.03">Since draft-ietf-httpbis-p6-cache-03</a></li> 605 613 </ul> 606 614 </li> 607 <li class="tocline0"><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li>608 <li class="tocline0"><a href="#rfc.index">Index</a></li>615 <li><a href="#rfc.index">Index</a></li> 616 <li><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li> 609 617 </ul> 610 618 <h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a id="caching" href="#caching">Introduction</a></h1> … … 649 657 </ol> 650 658 <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> 651 < dl class="empty">652 < dd> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification.659 <ul class="empty"> 660 <li> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification. 653 661 If a decision might affect semantic transparency, the implementor ought to err on the side of maintaining transparency unless 654 662 a careful and complete analysis shows significant benefits in breaking transparency. 655 </ dd>656 </ dl>663 </li> 664 </ul> 657 665 <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> 658 666 <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> 659 667 <p id="rfc.section.1.2.p.2"> <span id="rfc.iref.c.2"></span> <dfn>cacheable</dfn> 660 668 </p> 661 < dl class="empty">662 < dd>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests.669 <ul class="empty"> 670 <li>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests. 663 671 Even when a response is cacheable, there may be additional constraints on whether a cache can use the cached copy for a particular 664 672 request. 665 </ dd>666 </ dl>673 </li> 674 </ul> 667 675 <p id="rfc.section.1.2.p.3"> <span id="rfc.iref.f.1"></span> <dfn>first-hand</dfn> 668 676 </p> 669 < dl class="empty">670 < dd>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more677 <ul class="empty"> 678 <li>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more 671 679 proxies. A response is also first-hand if its validity has just been checked directly with the origin server. 672 </ dd>673 </ dl>680 </li> 681 </ul> 674 682 <p id="rfc.section.1.2.p.4"> <span id="rfc.iref.e.1"></span> <dfn>explicit expiration time</dfn> 675 683 </p> 676 < dl class="empty">677 < dd>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</dd>678 </ dl>684 <ul class="empty"> 685 <li>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</li> 686 </ul> 679 687 <p id="rfc.section.1.2.p.5"> <span id="rfc.iref.h.1"></span> <dfn>heuristic expiration time</dfn> 680 688 </p> 681 < dl class="empty">682 < dd>An expiration time assigned by a cache when no explicit expiration time is available.</dd>683 </ dl>689 <ul class="empty"> 690 <li>An expiration time assigned by a cache when no explicit expiration time is available.</li> 691 </ul> 684 692 <p id="rfc.section.1.2.p.6"> <span id="rfc.iref.a.1"></span> <dfn>age</dfn> 685 693 </p> 686 < dl class="empty">687 < dd>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</dd>688 </ dl>694 <ul class="empty"> 695 <li>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</li> 696 </ul> 689 697 <p id="rfc.section.1.2.p.7"> <span id="rfc.iref.f.2"></span> <dfn>freshness lifetime</dfn> 690 698 </p> 691 < dl class="empty">692 < dd>The length of time between the generation of a response and its expiration time.</dd>693 </ dl>699 <ul class="empty"> 700 <li>The length of time between the generation of a response and its expiration time.</li> 701 </ul> 694 702 <p id="rfc.section.1.2.p.8"> <span id="rfc.iref.f.3"></span> <dfn>fresh</dfn> 695 703 </p> 696 < dl class="empty">697 < dd>A response is fresh if its age has not yet exceeded its freshness lifetime.</dd>698 </ dl>704 <ul class="empty"> 705 <li>A response is fresh if its age has not yet exceeded its freshness lifetime.</li> 706 </ul> 699 707 <p id="rfc.section.1.2.p.9"> <span id="rfc.iref.s.2"></span> <dfn>stale</dfn> 700 708 </p> 701 < dl class="empty">702 < dd>A response is stale if its age has passed its freshness lifetime.</dd>703 </ dl>709 <ul class="empty"> 710 <li>A response is stale if its age has passed its freshness lifetime.</li> 711 </ul> 704 712 <p id="rfc.section.1.2.p.10"> <span id="rfc.iref.v.1"></span> <dfn>validator</dfn> 705 713 </p> 706 < dl class="empty">707 < 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 equivalent714 <ul class="empty"> 715 <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 708 716 copy of an entity. 709 </ dd>710 </ dl>717 </li> 718 </ul> 711 719 <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> 712 720 <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" … … 716 724 </p> 717 725 <h1 id="rfc.section.2"><a href="#rfc.section.2">2.</a> <a id="notation" href="#notation">Notational Conventions and Generic Grammar</a></h1> 718 <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>726 <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> 719 727 </p> 720 728 <div id="rfc.figure.u.1"></div><pre class="inline"> <a href="#notation" class="smpl">DIGIT</a> = <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>> … … 998 1006 such a response was taken from a cache by comparing the Date header to the current time. 999 1007 </p> 1000 < dl class="empty">1001 < dd> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning.1002 </ dd>1003 </ dl>1008 <ul class="empty"> 1009 <li> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning. 1010 </li> 1011 </ul> 1004 1012 <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 1005 1013 request. This might be because absolute semantic transparency is deemed necessary by the service author, or because of security … … 1073 1081 <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>). 1074 1082 </p> 1075 < dl class="empty">1076 < dd>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms1083 <ul class="empty"> 1084 <li>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms 1077 1085 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. 1078 </ dd>1079 </ dl>1086 </li> 1087 </ul> 1080 1088 <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>). 1081 1089 </p> … … 1104 1112 stored with the cache entry (except for stored Warning headers with warn-code 1xx, which are deleted even if not overridden). 1105 1113 </p> 1106 < dl class="empty">1107 < 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 associated1114 <ul class="empty"> 1115 <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 1108 1116 with a previous response for the same entity or sub-ranges thereof, although it might not always be meaningful or correct 1109 1117 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 1110 1118 delete a header that it had provided with a previous response. 1111 </ dd>1112 </ dl>1119 </li> 1120 </ul> 1113 1121 <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> 1114 1122 <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 … … 1205 1213 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. 1206 1214 </p> 1207 < dl class="empty">1208 < dd> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable.1209 </ dd>1210 </ dl>1215 <ul class="empty"> 1216 <li> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable. 1217 </li> 1218 </ul> 1211 1219 <h1 id="rfc.section.15"><a href="#rfc.section.15">15.</a> <a id="history.lists" href="#history.lists">History Lists</a></h1> 1212 1220 <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 … … 1220 1228 </p> 1221 1229 <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> 1222 < dl class="empty">1223 < dd> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors1230 <ul class="empty"> 1231 <li> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors 1224 1232 to avoid using HTTP expiration controls and cache controls when they would otherwise like to. Service authors may consider 1225 1233 it important that users not be presented with error messages or warning messages when they use navigation controls (such as … … 1227 1235 user interface considerations may force service authors to resort to other means of preventing caching (e.g. "once-only" URLs) 1228 1236 in order not to suffer the effects of improperly functioning history mechanisms. 1229 </ dd>1230 </ dl>1237 </li> 1238 </ul> 1231 1239 <h1 id="rfc.section.16"><a href="#rfc.section.16">16.</a> <a id="header.fields" href="#header.fields">Header Field Definitions</a></h1> 1232 1240 <p id="rfc.section.16.p.1">This section defines the syntax and semantics of HTTP/1.1 header fields related to caching.</p> … … 1258 1266 is to be given in the response. 1259 1267 </p> 1260 < dl class="empty">1261 < 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>).1262 </ dd>1263 </ dl>1268 <ul class="empty"> 1269 <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>). 1270 </li> 1271 </ul> 1264 1272 <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 1265 1273 might be applicable to all recipients along the request/response chain. It is not possible to specify a cache-directive for … … 1315 1323 <p id="rfc.section.16.2.1.p.2"> <span id="rfc.iref.c.4"></span> <span id="rfc.iref.p.1"></span> public 1316 1324 </p> 1317 < dl class="empty">1318 < 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 also1325 <ul class="empty"> 1326 <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 1319 1327 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.) 1320 </ dd>1321 </ dl>1328 </li> 1329 </ul> 1322 1330 <p id="rfc.section.16.2.1.p.3"> <span id="rfc.iref.c.5"></span> <span id="rfc.iref.p.2"></span> private 1323 1331 </p> 1324 < dl class="empty">1325 < 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 for1332 <ul class="empty"> 1333 <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 1326 1334 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. 1327 </ dd>1328 < 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 message1335 </li> 1336 <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 1329 1337 content. 1330 </ dd>1331 </ dl>1338 </li> 1339 </ul> 1332 1340 <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 1333 1341 </p> 1334 < dl class="empty">1335 < 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 origin1342 <ul class="empty"> 1343 <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 1336 1344 server to prevent caching even by caches that have been configured to return stale responses to client requests. 1337 </ dd>1338 < 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 origin1345 </li> 1346 <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 1339 1347 server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. 1340 < dl class="empty">1341 < dd> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive.1342 </ dd>1343 </ dl>1344 </ dd>1345 </ dl>1348 <ul class="empty"> 1349 <li> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive. 1350 </li> 1351 </ul> 1352 </li> 1353 </ul> 1346 1354 <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> 1347 1355 <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 1348 1356 </p> 1349 < dl class="empty">1350 < dd>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example,1357 <ul class="empty"> 1358 <li>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example, 1351 1359 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 1352 1360 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. 1353 </ dd>1354 < dd>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching1361 </li> 1362 <li>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching 1355 1363 system (e.g., with a "Save As" dialog). History buffers <em class="bcp14">MAY</em> store such responses as part of their normal operation. 1356 </ dd>1357 < dd>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about1364 </li> 1365 <li>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about 1358 1366 accidental releases of information via unanticipated accesses to cache data structures. While the use of this directive might 1359 1367 improve privacy in some cases, we caution that it is NOT in any way a reliable or sufficient mechanism for ensuring privacy. 1360 1368 In particular, malicious or compromised caches might not recognize or obey this directive, and communications networks might 1361 1369 be vulnerable to eavesdropping. 1362 </ dd>1363 </ dl>1370 </li> 1371 </ul> 1364 1372 <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> 1365 1373 <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, … … 1377 1385 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. 1378 1386 </p> 1379 < dl class="empty">1380 < 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 network1387 <ul class="empty"> 1388 <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 1381 1389 including older caches that do not understand that feature. The origin server will need to combine the new feature with an 1382 1390 Expires field whose value is less than or equal to the Date value. This will prevent older caches from improperly caching 1383 1391 the response. 1384 </ dd>1385 </ dl>1392 </li> 1393 </ul> 1386 1394 <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 1387 1395 </p> 1388 < dl class="empty">1389 < dd>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified1396 <ul class="empty"> 1397 <li>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified 1390 1398 by this directive overrides the maximum age specified by either the max-age directive or the Expires header. The s-maxage 1391 1399 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 1392 1400 revalidating it with the origin server. The s-maxage directive is always ignored by a private cache. 1393 </ dd>1394 </ dl>1401 </li> 1402 </ul> 1395 1403 <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 1396 1404 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 … … 1401 1409 <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 1402 1410 </p> 1403 < dl class="empty">1404 < dd>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless1411 <ul class="empty"> 1412 <li>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless 1405 1413 max-stale directive is also included, the client is not willing to accept a stale response. 1406 </ dd>1407 </ dl>1414 </li> 1415 </ul> 1408 1416 <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 1409 1417 </p> 1410 < dl class="empty">1411 < dd>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the1418 <ul class="empty"> 1419 <li>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the 1412 1420 specified time in seconds. That is, the client wants a response that will still be fresh for at least the specified number 1413 1421 of seconds. 1414 </ dd>1415 </ dl>1422 </li> 1423 </ul> 1416 1424 <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 1417 1425 </p> 1418 < dl class="empty">1419 < dd>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned1426 <ul class="empty"> 1427 <li>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned 1420 1428 a value, then the client is willing to accept a response that has exceeded its expiration time by no more than the specified 1421 1429 number of seconds. If no value is assigned to max-stale, then the client is willing to accept a stale response of any age. 1422 </ dd>1423 </ dl>1430 </li> 1431 </ul> 1424 1432 <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 1425 1433 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). … … 1443 1451 <p id="rfc.section.16.2.4.p.3">The client can specify these three kinds of action using Cache-Control request directives:</p> 1444 1452 <p id="rfc.section.16.2.4.p.4">End-to-end reload </p> 1445 < dl class="empty">1446 < dd>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache".1453 <ul class="empty"> 1454 <li>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache". 1447 1455 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. 1448 </ dd>1449 </ dl>1456 </li> 1457 </ul> 1450 1458 <p id="rfc.section.16.2.4.p.5">Specific end-to-end revalidation </p> 1451 < dl class="empty">1452 < dd>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to1459 <ul class="empty"> 1460 <li>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to 1453 1461 revalidate its own entry, if any, with the next cache or server. The initial request includes a cache-validating conditional 1454 1462 with the client's current validator. 1455 </ dd>1456 </ dl>1463 </li> 1464 </ul> 1457 1465 <p id="rfc.section.16.2.4.p.6">Unspecified end-to-end revalidation </p> 1458 < dl class="empty">1459 < dd>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate1466 <ul class="empty"> 1467 <li>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate 1460 1468 its own entry, if any, with the next cache or server. The initial request does not include a cache-validating conditional; 1461 1469 the first cache along the path (if any) that holds a cache entry for this resource includes a cache-validating conditional 1462 1470 with its current validator. 1463 </ dd>1464 </ dl>1471 </li> 1472 </ul> 1465 1473 <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 1466 1474 </p> 1467 < dl class="empty">1468 < dd>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client1475 <ul class="empty"> 1476 <li>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client 1469 1477 has supplied its own validator in the request, the supplied validator might differ from the validator currently stored with 1470 1478 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. 1471 </ dd>1472 < dd>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own1479 </li> 1480 <li>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own 1473 1481 validator when making its request. If the server replies with 304 (Not Modified), then the cache can return its now validated 1474 1482 copy to the client with a 200 (OK) response. If the server replies with a new entity and cache validator, however, the intermediate … … 1476 1484 If the client's validator is equal to the origin server's, then the intermediate cache simply returns 304 (Not Modified). 1477 1485 Otherwise, it returns the new entity with a 200 (OK) response. 1478 </ dd>1479 < dd>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age.1480 </ dd>1481 </ dl>1486 </li> 1487 <li>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age. 1488 </li> 1489 </ul> 1482 1490 <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 1483 1491 </p> 1484 < dl class="empty">1485 < dd>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses1492 <ul class="empty"> 1493 <li>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses 1486 1494 that it currently has stored, and not to reload or revalidate with the origin server. To do this, the client may include the 1487 1495 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 1488 1496 Timeout) status. However, if a group of caches is being operated as a unified system with good internal connectivity, such 1489 1497 a request <em class="bcp14">MAY</em> be forwarded within that group of caches. 1490 </ dd>1491 </ dl>1498 </li> 1499 </ul> 1492 1500 <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 1493 1501 </p> 1494 < dl class="empty">1495 < 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 to1502 <ul class="empty"> 1503 <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 1496 1504 require revalidation of a cache entry on any subsequent use. When the must-revalidate directive is present in a response received 1497 1505 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. 1498 1506 (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 1499 1507 is stale.) 1500 </ dd>1501 < dd>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances1508 </li> 1509 <li>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances 1502 1510 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. 1503 </ dd>1504 < 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 incorrect1511 </li> 1512 <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 1505 1513 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. 1506 </ dd>1507 < 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.1508 </ dd>1509 </ dl>1514 </li> 1515 <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. 1516 </li> 1517 </ul> 1510 1518 <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 1511 1519 </p> 1512 < dl class="empty">1513 < dd>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared1520 <ul class="empty"> 1521 <li>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared 1514 1522 user agent caches. It can be used on a response to an authenticated request to permit the user's cache to store and later 1515 1523 return the response without needing to revalidate it (since it has already been authenticated once by that user), while still … … 1517 1525 Note that such authenticated responses also need the public cache control directive in order to allow them to be cached at 1518 1526 all. 1519 </ dd>1520 </ dl>1527 </li> 1528 </ul> 1521 1529 <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> 1522 1530 <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 1523 1531 </p> 1524 < dl class="empty">1525 < dd>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent1532 <ul class="empty"> 1533 <li>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent 1526 1534 proxy might, for example, convert between image formats in order to save cache space or to reduce the amount of traffic on 1527 1535 a slow link. 1528 </ dd>1529 < dd>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain1536 </li> 1537 <li>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain 1530 1538 kinds of applications. For example, applications for medical imaging, scientific data analysis and those using end-to-end 1531 1539 authentication, all depend on receiving an entity body that is bit for bit identical to the original entity-body. 1532 </ dd>1533 < 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.1534 </ dd>1535 </ dl>1540 </li> 1541 <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. 1542 </li> 1543 </ul> 1536 1544 <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> 1537 1545 <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 … … 1574 1582 <div id="rfc.figure.u.17"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1575 1583 </pre><p id="rfc.section.16.3.p.7"> </p> 1576 < dl class="empty">1577 < 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.1578 </ dd>1579 </ dl>1584 <ul class="empty"> 1585 <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. 1586 </li> 1587 </ul> 1580 1588 <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"). 1581 1589 </p> … … 1610 1618 HTTP. 1611 1619 </p> 1612 < dl class="empty">1613 < 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 reliable1620 <ul class="empty"> 1621 <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 1614 1622 replacement for "Cache-Control: no-cache" in a response. 1615 </ dd>1616 </ dl>1623 </li> 1624 </ul> 1617 1625 <div id="rfc.iref.v.2"></div> 1618 1626 <div id="rfc.iref.h.6"></div> … … 1689 1697 </p> 1690 1698 <p id="rfc.section.16.6.p.12">110 Response is stale </p> 1691 < dl class="empty">1692 < dd> <em class="bcp14">MUST</em> be included whenever the returned response is stale.1693 </ dd>1694 </ dl>1699 <ul class="empty"> 1700 <li> <em class="bcp14">MUST</em> be included whenever the returned response is stale. 1701 </li> 1702 </ul> 1695 1703 <p id="rfc.section.16.6.p.13">111 Revalidation failed </p> 1696 < dl class="empty">1697 < 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 inability1704 <ul class="empty"> 1705 <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 1698 1706 to reach the server. 1699 </ dd>1700 </ dl>1707 </li> 1708 </ul> 1701 1709 <p id="rfc.section.16.6.p.14">112 Disconnected operation </p> 1702 < dl class="empty">1703 < 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.1704 </ dd>1705 </ dl>1710 <ul class="empty"> 1711 <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. 1712 </li> 1713 </ul> 1706 1714 <p id="rfc.section.16.6.p.15">113 Heuristic expiration </p> 1707 < dl class="empty">1708 < 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 greater1715 <ul class="empty"> 1716 <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 1709 1717 than 24 hours. 1710 </ dd>1711 </ dl>1718 </li> 1719 </ul> 1712 1720 <p id="rfc.section.16.6.p.16">199 Miscellaneous warning </p> 1713 < dl class="empty">1714 < 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.1715 </ dd>1716 </ dl>1721 <ul class="empty"> 1722 <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. 1723 </li> 1724 </ul> 1717 1725 <p id="rfc.section.16.6.p.17">214 Transformation applied </p> 1718 < dl class="empty">1719 < 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 the1726 <ul class="empty"> 1727 <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 1720 1728 Content-Encoding header) or media-type (as specified in the Content-Type header) of the response, or the entity-body of the 1721 1729 response, unless this Warning code already appears in the response. 1722 </ dd>1723 </ dl>1730 </li> 1731 </ul> 1724 1732 <p id="rfc.section.16.6.p.18">299 Miscellaneous persistent warning </p> 1725 < dl class="empty">1726 < 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.1727 </ dd>1728 </ dl>1733 <ul class="empty"> 1734 <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. 1735 </li> 1736 </ul> 1729 1737 <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. 1730 1738 </p> … … 1739 1747 <div id="rfc.table.1"> 1740 1748 <div id="iana.header.registration.table"></div> 1741 <table summary="" class="tt full" cellpadding="3" cellspacing="0">1749 <table class="tt full left" cellpadding="3" cellspacing="0"> 1742 1750 <thead> 1743 1751 <tr> … … 1750 1758 <tbody> 1751 1759 <tr> 1752 <td >Age</td>1753 <td >http</td>1754 <td >standard</td>1755 <td > <a href="#header.age" id="rfc.xref.header.age.1" title="Age">Section 16.1</a>1760 <td class="left">Age</td> 1761 <td class="left">http</td> 1762 <td class="left">standard</td> 1763 <td class="left"> <a href="#header.age" id="rfc.xref.header.age.1" title="Age">Section 16.1</a> 1756 1764 </td> 1757 1765 </tr> 1758 1766 <tr> 1759 <td >Cache-Control</td>1760 <td >http</td>1761 <td >standard</td>1762 <td > <a href="#header.cache-control" id="rfc.xref.header.cache-control.11" title="Cache-Control">Section 16.2</a>1767 <td class="left">Cache-Control</td> 1768 <td class="left">http</td> 1769 <td class="left">standard</td> 1770 <td class="left"> <a href="#header.cache-control" id="rfc.xref.header.cache-control.11" title="Cache-Control">Section 16.2</a> 1763 1771 </td> 1764 1772 </tr> 1765 1773 <tr> 1766 <td >Expires</td>1767 <td >http</td>1768 <td >standard</td>1769 <td > <a href="#header.expires" id="rfc.xref.header.expires.3" title="Expires">Section 16.3</a>1774 <td class="left">Expires</td> 1775 <td class="left">http</td> 1776 <td class="left">standard</td> 1777 <td class="left"> <a href="#header.expires" id="rfc.xref.header.expires.3" title="Expires">Section 16.3</a> 1770 1778 </td> 1771 1779 </tr> 1772 1780 <tr> 1773 <td >Pragma</td>1774 <td >http</td>1775 <td >standard</td>1776 <td > <a href="#header.pragma" id="rfc.xref.header.pragma.2" title="Pragma">Section 16.4</a>1781 <td class="left">Pragma</td> 1782 <td class="left">http</td> 1783 <td class="left">standard</td> 1784 <td class="left"> <a href="#header.pragma" id="rfc.xref.header.pragma.2" title="Pragma">Section 16.4</a> 1777 1785 </td> 1778 1786 </tr> 1779 1787 <tr> 1780 <td >Vary</td>1781 <td >http</td>1782 <td >standard</td>1783 <td > <a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section 16.5</a>1788 <td class="left">Vary</td> 1789 <td class="left">http</td> 1790 <td class="left">standard</td> 1791 <td class="left"> <a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section 16.5</a> 1784 1792 </td> 1785 1793 </tr> 1786 1794 <tr> 1787 <td >Warning</td>1788 <td >http</td>1789 <td >standard</td>1790 <td > <a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section 16.6</a>1795 <td class="left">Warning</td> 1796 <td class="left">http</td> 1797 <td class="left">standard</td> 1798 <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section 16.6</a> 1791 1799 </td> 1792 1800 </tr> … … 1809 1817 <h2 id="rfc.references.1"><a href="#rfc.section.20.1" id="rfc.section.20.1">20.1</a> Normative References 1810 1818 </h2> 1811 <table summary="Normative References">1819 <table> 1812 1820 <tr> 1813 1821 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> 1814 <td class="top">International Organization for Standardization, “ 1815 Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1 1816 ”, ISO/IEC 8859-1:1998, 1998. 1817 </td> 1822 <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> 1818 1823 </tr> 1819 1824 <tr> 1820 1825 <td class="reference"><b id="Part1">[Part1]</b></td> 1821 <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-04">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-04 (work in progress), August 2008.1826 <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-04">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-04 (work in progress), August 2008. 1822 1827 </td> 1823 1828 </tr> 1824 1829 <tr> 1825 1830 <td class="reference"><b id="Part2">[Part2]</b></td> 1826 <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-04">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-04 (work in progress), August 2008.1831 <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-04">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-04 (work in progress), August 2008. 1827 1832 </td> 1828 1833 </tr> 1829 1834 <tr> 1830 1835 <td class="reference"><b id="Part3">[Part3]</b></td> 1831 <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-04">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-04 (work in progress), August 2008.1836 <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-04">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-04 (work in progress), August 2008. 1832 1837 </td> 1833 1838 </tr> 1834 1839 <tr> 1835 1840 <td class="reference"><b id="Part4">[Part4]</b></td> 1836 <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-04">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-04 (work in progress), August 2008.1841 <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-04">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-04 (work in progress), August 2008. 1837 1842 </td> 1838 1843 </tr> 1839 1844 <tr> 1840 1845 <td class="reference"><b id="Part5">[Part5]</b></td> 1841 <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-04">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-04 (work in progress), August 2008.1846 <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-04">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-04 (work in progress), August 2008. 1842 1847 </td> 1843 1848 </tr> 1844 1849 <tr> 1845 1850 <td class="reference"><b id="Part7">[Part7]</b></td> 1846 <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-04">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-04 (work in progress), August 2008.1851 <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-04">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-04 (work in progress), August 2008. 1847 1852 </td> 1848 1853 </tr> 1849 1854 <tr> 1850 1855 <td class="reference"><b id="RFC2047">[RFC2047]</b></td> 1851 <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.1856 <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. 1852 1857 </td> 1853 1858 </tr> 1854 1859 <tr> 1855 1860 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1856 <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.1861 <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. 1857 1862 </td> 1858 1863 </tr> … … 1860 1865 <h2 id="rfc.references.2"><a href="#rfc.section.20.2" id="rfc.section.20.2">20.2</a> Informative References 1861 1866 </h2> 1862 <table summary="Informative References">1867 <table> 1863 1868 <tr> 1864 1869 <td class="reference"><b id="RFC1305">[RFC1305]</b></td> 1865 <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.1870 <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. 1866 1871 </td> 1867 1872 </tr> 1868 1873 <tr> 1869 1874 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 1870 <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.1875 <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. 1871 1876 </td> 1872 1877 </tr> 1873 1878 <tr> 1874 1879 <td class="reference"><b id="RFC3864">[RFC3864]</b></td> 1875 <td class="top"><a title="Nine by Nine">Klyne, G.</a>, <a title="BEA Systems">Nottingham, M.</a>, and <atitle="HP Labs">J. Mogul</a>, “<a href="http://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004.1880 <td class="top"><a href="mailto:GK-IETF@ninebynine.org" title="Nine by Nine">Klyne, G.</a>, <a href="mailto:mnot@pobox.com" title="BEA Systems">Nottingham, M.</a>, and <a href="mailto:JeffMogul@acm.org" title="HP Labs">J. Mogul</a>, “<a href="http://tools.ietf.org/html/rfc3864">Registration Procedures for Message Header Fields</a>”, BCP 90, RFC 3864, September 2004. 1876 1881 </td> 1877 1882 </tr> 1878 1883 </table> 1879 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1880 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1881 (editor) 1882 <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> 1883 <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> 1884 <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> 1885 <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> 1886 <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> 1887 <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> 1888 <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> 1889 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1890 (editor) 1891 <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> 1892 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1893 (editor) 1894 <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> 1895 <h1 id="rfc.section.A"><a href="#rfc.section.A">A.</a> <a id="compatibility" href="#compatibility">Compatibility with Previous Versions</a></h1> 1884 <div class="avoidbreak"> 1885 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1886 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1887 (editor) 1888 <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> 1889 <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> 1890 <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> 1891 <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> 1892 <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> 1893 <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> 1894 <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> 1895 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1896 (editor) 1897 <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> 1898 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1899 (editor) 1900 <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> 1901 </div> 1902 <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> 1896 1903 <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> 1897 1904 <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.12" 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>) … … 1971 1978 </li> 1972 1979 </ul> 1980 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1981 <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> 1982 </p> 1983 <div class="print2col"> 1984 <ul class="ind"> 1985 <li><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul> 1986 <li>age <a href="#rfc.iref.a.1">1.2</a></li> 1987 <li>Age header <a href="#rfc.iref.a.2"><b>16.1</b></a>, <a href="#rfc.xref.header.age.1">17.1</a></li> 1988 </ul> 1989 </li> 1990 <li><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul> 1991 <li>cache <a href="#rfc.iref.c.1">1.1</a></li> 1992 <li>Cache Directives 1993 <ul> 1994 <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> 1995 <li>max-stale <a href="#rfc.iref.c.11"><b>16.2.3</b></a></li> 1996 <li>min-fresh <a href="#rfc.iref.c.10"><b>16.2.3</b></a></li> 1997 <li>must-revalidate <a href="#rfc.iref.c.14"><b>16.2.4</b></a></li> 1998 <li>no-cache <a href="#rfc.iref.c.6"><b>16.2.1</b></a></li> 1999 <li>no-store <a href="#rfc.iref.c.7"><b>16.2.2</b></a></li> 2000 <li>no-transform <a href="#rfc.iref.c.16"><b>16.2.5</b></a></li> 2001 <li>only-if-cached <a href="#rfc.iref.c.13"><b>16.2.4</b></a></li> 2002 <li>private <a href="#rfc.iref.c.5"><b>16.2.1</b></a></li> 2003 <li>proxy-revalidate <a href="#rfc.iref.c.15"><b>16.2.4</b></a></li> 2004 <li>public <a href="#rfc.iref.c.4"><b>16.2.1</b></a></li> 2005 <li>s-maxage <a href="#rfc.iref.c.8"><b>16.2.3</b></a></li> 2006 </ul> 2007 </li> 2008 <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">17.1</a>, <a href="#rfc.xref.header.cache-control.12">A.1</a></li> 2009 <li>cacheable <a href="#rfc.iref.c.2">1.2</a></li> 2010 </ul> 2011 </li> 2012 <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul> 2013 <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>, <a href="#rfc.xref.header.expires.3">17.1</a></li> 2014 <li>explicit expiration time <a href="#rfc.iref.e.1">1.2</a></li> 2015 </ul> 2016 </li> 2017 <li><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul> 2018 <li>first-hand <a href="#rfc.iref.f.1">1.2</a></li> 2019 <li>fresh <a href="#rfc.iref.f.3">1.2</a></li> 2020 <li>freshness lifetime <a href="#rfc.iref.f.2">1.2</a></li> 2021 </ul> 2022 </li> 2023 <li><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul> 2024 <li><tt>Grammar</tt> 2025 <ul> 2026 <li><tt>Age</tt> <a href="#rfc.iref.g.1"><b>16.1</b></a></li> 2027 <li><tt>age-value</tt> <a href="#rfc.iref.g.2"><b>16.1</b></a></li> 2028 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.4"><b>16.2</b></a></li> 2029 <li><tt>cache-directive</tt> <a href="#rfc.iref.g.5"><b>16.2</b></a></li> 2030 <li><tt>cache-extension</tt> <a href="#rfc.iref.g.8"><b>16.2</b></a></li> 2031 <li><tt>cache-request-directive</tt> <a href="#rfc.iref.g.6"><b>16.2</b></a></li> 2032 <li><tt>cache-response-directive</tt> <a href="#rfc.iref.g.7"><b>16.2</b></a></li> 2033 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.3"><b>16.1</b></a></li> 2034 <li><tt>Expires</tt> <a href="#rfc.iref.g.9"><b>16.3</b></a></li> 2035 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.12"><b>16.4</b></a></li> 2036 <li><tt>Pragma</tt> <a href="#rfc.iref.g.10"><b>16.4</b></a></li> 2037 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.11"><b>16.4</b></a></li> 2038 <li><tt>Vary</tt> <a href="#rfc.iref.g.13"><b>16.5</b></a></li> 2039 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.17"><b>16.6</b></a></li> 2040 <li><tt>warn-code</tt> <a href="#rfc.iref.g.16"><b>16.6</b></a></li> 2041 <li><tt>warn-date</tt> <a href="#rfc.iref.g.19"><b>16.6</b></a></li> 2042 <li><tt>warn-text</tt> <a href="#rfc.iref.g.18"><b>16.6</b></a></li> 2043 <li><tt>Warning</tt> <a href="#rfc.iref.g.14"><b>16.6</b></a></li> 2044 <li><tt>warning-value</tt> <a href="#rfc.iref.g.15"><b>16.6</b></a></li> 2045 </ul> 2046 </li> 2047 </ul> 2048 </li> 2049 <li><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul> 2050 <li>Headers 2051 <ul> 2052 <li>Age <a href="#rfc.iref.h.2"><b>16.1</b></a>, <a href="#rfc.xref.header.age.1">17.1</a></li> 2053 <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">17.1</a>, <a href="#rfc.xref.header.cache-control.12">A.1</a></li> 2054 <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>, <a href="#rfc.xref.header.expires.3">17.1</a></li> 2055 <li>Pragma <a href="#rfc.xref.header.pragma.1">16.2</a>, <a href="#rfc.iref.h.5"><b>16.4</b></a>, <a href="#rfc.xref.header.pragma.2">17.1</a></li> 2056 <li>Vary <a href="#rfc.xref.header.vary.1">8</a>, <a href="#rfc.iref.h.6"><b>16.5</b></a>, <a href="#rfc.xref.header.vary.2">17.1</a></li> 2057 <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">17.1</a>, <a href="#rfc.xref.header.warning.7">A.1</a></li> 2058 </ul> 2059 </li> 2060 <li>heuristic expiration time <a href="#rfc.iref.h.1">1.2</a></li> 2061 </ul> 2062 </li> 2063 <li><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul> 2064 <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> 2065 </ul> 2066 </li> 2067 <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul> 2068 <li>max-age 2069 <ul> 2070 <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> 2071 </ul> 2072 </li> 2073 <li>max-stale 2074 <ul> 2075 <li>Cache Directive <a href="#rfc.iref.m.3"><b>16.2.3</b></a></li> 2076 </ul> 2077 </li> 2078 <li>min-fresh 2079 <ul> 2080 <li>Cache Directive <a href="#rfc.iref.m.2"><b>16.2.3</b></a></li> 2081 </ul> 2082 </li> 2083 <li>must-revalidate 2084 <ul> 2085 <li>Cache Directive <a href="#rfc.iref.m.5"><b>16.2.4</b></a></li> 2086 </ul> 2087 </li> 2088 </ul> 2089 </li> 2090 <li><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul> 2091 <li>no-cache 2092 <ul> 2093 <li>Cache Directive <a href="#rfc.iref.n.1"><b>16.2.1</b></a></li> 2094 </ul> 2095 </li> 2096 <li>no-store 2097 <ul> 2098 <li>Cache Directive <a href="#rfc.iref.n.2"><b>16.2.2</b></a></li> 2099 </ul> 2100 </li> 2101 <li>no-transform 2102 <ul> 2103 <li>Cache Directive <a href="#rfc.iref.n.3"><b>16.2.5</b></a></li> 2104 </ul> 2105 </li> 2106 </ul> 2107 </li> 2108 <li><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul> 2109 <li>only-if-cached 2110 <ul> 2111 <li>Cache Directive <a href="#rfc.iref.o.1"><b>16.2.4</b></a></li> 2112 </ul> 2113 </li> 2114 </ul> 2115 </li> 2116 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 2117 <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> 2118 <li><em>Section 2.1</em> <a href="#rfc.xref.Part1.1">2</a></li> 2119 <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> 2120 <li><em>Section 3.2.1</em> <a href="#rfc.xref.Part1.10">2</a>, <a href="#rfc.xref.Part1.12">2</a></li> 2121 <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> 2122 <li><em>Section 4.2</em> <a href="#rfc.xref.Part1.8">2</a>, <a href="#rfc.xref.Part1.17">8</a></li> 2123 <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> 2124 <li><em>Section 8.1</em> <a href="#rfc.xref.Part1.14">7.1</a></li> 2125 <li><em>Section 8.3</em> <a href="#rfc.xref.Part1.13">4.3</a></li> 2126 <li><em>Section 8.9</em> <a href="#rfc.xref.Part1.11">2</a></li> 2127 </ul> 2128 </li> 2129 <li><em>Part2</em> <a href="#rfc.xref.Part2.1">11</a>, <a href="#Part2"><b>20.1</b></a><ul> 2130 <li><em>Section 8.1.1</em> <a href="#rfc.xref.Part2.1">11</a></li> 2131 </ul> 2132 </li> 2133 <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> 2134 <li><em>Section 4.2.2</em> <a href="#rfc.xref.Part3.1">7.2</a></li> 2135 <li><em>Section 5.1</em> <a href="#rfc.xref.Part3.2">8</a></li> 2136 </ul> 2137 </li> 2138 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">5</a>, <a href="#Part4"><b>20.1</b></a></li> 2139 <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> 2140 <li><em>Section 5</em> <a href="#rfc.xref.Part5.1">7.3</a>, <a href="#rfc.xref.Part5.2">10</a></li> 2141 </ul> 2142 </li> 2143 <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> 2144 <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> 2145 </ul> 2146 </li> 2147 <li>Pragma header <a href="#rfc.xref.header.pragma.1">16.2</a>, <a href="#rfc.iref.p.4"><b>16.4</b></a>, <a href="#rfc.xref.header.pragma.2">17.1</a></li> 2148 <li>private 2149 <ul> 2150 <li>Cache Directive <a href="#rfc.iref.p.2"><b>16.2.1</b></a></li> 2151 </ul> 2152 </li> 2153 <li>proxy-revalidate 2154 <ul> 2155 <li>Cache Directive <a href="#rfc.iref.p.3"><b>16.2.4</b></a></li> 2156 </ul> 2157 </li> 2158 <li>public 2159 <ul> 2160 <li>Cache Directive <a href="#rfc.iref.p.1"><b>16.2.1</b></a></li> 2161 </ul> 2162 </li> 2163 </ul> 2164 </li> 2165 <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul> 2166 <li><em>RFC1305</em> <a href="#rfc.xref.RFC1305.1">4.3</a>, <a href="#RFC1305"><b>20.2</b></a></li> 2167 <li><em>RFC2047</em> <a href="#rfc.xref.RFC2047.1">16.6</a>, <a href="#RFC2047"><b>20.1</b></a></li> 2168 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.3</a>, <a href="#RFC2119"><b>20.1</b></a></li> 2169 <li><em>RFC2616</em> <a href="#RFC2616"><b>20.2</b></a>, <a href="#rfc.xref.RFC2616.1">B.1</a></li> 2170 <li><em>RFC3864</em> <a href="#rfc.xref.RFC3864.1">17.1</a>, <a href="#RFC3864"><b>20.2</b></a></li> 2171 </ul> 2172 </li> 2173 <li><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul> 2174 <li>s-maxage 2175 <ul> 2176 <li>Cache Directive <a href="#rfc.iref.s.3"><b>16.2.3</b></a></li> 2177 </ul> 2178 </li> 2179 <li>semantically transparent <a href="#rfc.iref.s.1">1.1</a></li> 2180 <li>stale <a href="#rfc.iref.s.2">1.2</a></li> 2181 </ul> 2182 </li> 2183 <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul> 2184 <li>validator <a href="#rfc.iref.v.1">1.2</a></li> 2185 <li>Vary header <a href="#rfc.xref.header.vary.1">8</a>, <a href="#rfc.iref.v.2"><b>16.5</b></a>, <a href="#rfc.xref.header.vary.2">17.1</a></li> 2186 </ul> 2187 </li> 2188 <li><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul> 2189 <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">17.1</a>, <a href="#rfc.xref.header.warning.7">A.1</a></li> 2190 </ul> 2191 </li> 2192 </ul> 2193 </div> 1973 2194 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 2195 <p>Copyright © The IETF Trust (2008).</p> 1974 2196 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the 1975 2197 authors retain all their rights. … … 1989 2211 <p>Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result 1990 2212 of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users 1991 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>>.2213 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>. 1992 2214 </p> 1993 2215 <p>The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary … … 1995 2217 at <a href="mailto:ietf-ipr@ietf.org">ietf-ipr@ietf.org</a>. 1996 2218 </p> 1997 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>1998 <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>1999 </p>2000 <div class="print2col">2001 <ul class="ind">2002 <li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind">2003 <li class="indline1">age <a class="iref" href="#rfc.iref.a.1">1.2</a></li>2004 <li class="indline1">Age header <a class="iref" href="#rfc.iref.a.2"><b>16.1</b></a>, <a class="iref" href="#rfc.xref.header.age.1">17.1</a></li>2005 </ul>2006 </li>2007 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind">2008 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.1">1.1</a></li>2009 <li class="indline1">Cache Directives 2010 <ul class="ind">2011 <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>2012 <li class="indline1">max-stale <a class="iref" href="#rfc.iref.c.11"><b>16.2.3</b></a></li>2013 <li class="indline1">min-fresh <a class="iref" href="#rfc.iref.c.10"><b>16.2.3</b></a></li>2014 <li class="indline1">must-revalidate <a class="iref" href="#rfc.iref.c.14"><b>16.2.4</b></a></li>2015 <li class="indline1">no-cache <a class="iref" href="#rfc.iref.c.6"><b>16.2.1</b></a></li>2016 <li class="indline1">no-store <a class="iref" href="#rfc.iref.c.7"><b>16.2.2</b></a></li>2017 <li class="indline1">no-transform <a class="iref" href="#rfc.iref.c.16"><b>16.2.5</b></a></li>2018 <li class="indline1">only-if-cached <a class="iref" href="#rfc.iref.c.13"><b>16.2.4</b></a></li>2019 <li class="indline1">private <a class="iref" href="#rfc.iref.c.5"><b>16.2.1</b></a></li>2020 <li class="indline1">proxy-revalidate <a class="iref" href="#rfc.iref.c.15"><b>16.2.4</b></a></li>2021 <li class="indline1">public <a class="iref" href="#rfc.iref.c.4"><b>16.2.1</b></a></li>2022 <li class="indline1">s-maxage <a class="iref" href="#rfc.iref.c.8"><b>16.2.3</b></a></li>2023 </ul>2024 </li>2025 <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">17.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.12">A.1</a></li>2026 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.2">1.2</a></li>2027 </ul>2028 </li>2029 <li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind">2030 <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>, <a class="iref" href="#rfc.xref.header.expires.3">17.1</a></li>2031 <li class="indline1">explicit expiration time <a class="iref" href="#rfc.iref.e.1">1.2</a></li>2032 </ul>2033 </li>2034 <li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind">2035 <li class="indline1">first-hand <a class="iref" href="#rfc.iref.f.1">1.2</a></li>2036 <li class="indline1">fresh <a class="iref" href="#rfc.iref.f.3">1.2</a></li>2037 <li class="indline1">freshness lifetime <a class="iref" href="#rfc.iref.f.2">1.2</a></li>2038 </ul>2039 </li>2040 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind">2041 <li class="indline1"><tt>Grammar</tt> 2042 <ul class="ind">2043 <li class="indline1"><tt>Age</tt> <a class="iref" href="#rfc.iref.g.1"><b>16.1</b></a></li>2044 <li class="indline1"><tt>age-value</tt> <a class="iref" href="#rfc.iref.g.2"><b>16.1</b></a></li>2045 <li class="indline1"><tt>Cache-Control</tt> <a class="iref" href="#rfc.iref.g.4"><b>16.2</b></a></li>2046 <li class="indline1"><tt>cache-directive</tt> <a class="iref" href="#rfc.iref.g.5"><b>16.2</b></a></li>2047 <li class="indline1"><tt>cache-extension</tt> <a class="iref" href="#rfc.iref.g.8"><b>16.2</b></a></li>2048 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>16.2</b></a></li>2049 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.7"><b>16.2</b></a></li>2050 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.3"><b>16.1</b></a></li>2051 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.9"><b>16.3</b></a></li>2052 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.12"><b>16.4</b></a></li>2053 <li class="indline1"><tt>Pragma</tt> <a class="iref" href="#rfc.iref.g.10"><b>16.4</b></a></li>2054 <li class="indline1"><tt>pragma-directive</tt> <a class="iref" href="#rfc.iref.g.11"><b>16.4</b></a></li>2055 <li class="indline1"><tt>Vary</tt> <a class="iref" href="#rfc.iref.g.13"><b>16.5</b></a></li>2056 <li class="indline1"><tt>warn-agent</tt> <a class="iref" href="#rfc.iref.g.17"><b>16.6</b></a></li>2057 <li class="indline1"><tt>warn-code</tt> <a class="iref" href="#rfc.iref.g.16"><b>16.6</b></a></li>2058 <li class="indline1"><tt>warn-date</tt> <a class="iref" href="#rfc.iref.g.19"><b>16.6</b></a></li>2059 <li class="indline1"><tt>warn-text</tt> <a class="iref" href="#rfc.iref.g.18"><b>16.6</b></a></li>2060 <li class="indline1"><tt>Warning</tt> <a class="iref" href="#rfc.iref.g.14"><b>16.6</b></a></li>2061 <li class="indline1"><tt>warning-value</tt> <a class="iref" href="#rfc.iref.g.15"><b>16.6</b></a></li>2062 </ul>2063 </li>2064 </ul>2065 </li>2066 <li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind">2067 <li class="indline1">Headers 2068 <ul class="ind">2069 <li class="indline1">Age <a class="iref" href="#rfc.iref.h.2"><b>16.1</b></a>, <a class="iref" href="#rfc.xref.header.age.1">17.1</a></li>2070 <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">17.1</a>, <a class="iref" href="#rfc.xref.header.cache-control.12">A.1</a></li>2071 <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>, <a class="iref" href="#rfc.xref.header.expires.3">17.1</a></li>2072 <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>, <a class="iref" href="#rfc.xref.header.pragma.2">17.1</a></li>2073 <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>, <a class="iref" href="#rfc.xref.header.vary.2">17.1</a></li>2074 <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">17.1</a>, <a class="iref" href="#rfc.xref.header.warning.7">A.1</a></li>2075 </ul>2076 </li>2077 <li class="indline1">heuristic expiration time <a class="iref" href="#rfc.iref.h.1">1.2</a></li>2078 </ul>2079 </li>2080 <li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind">2081 <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>2082 </ul>2083 </li>2084 <li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind">2085 <li class="indline1">max-age 2086 <ul class="ind">2087 <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>2088 </ul>2089 </li>2090 <li class="indline1">max-stale 2091 <ul class="ind">2092 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.3"><b>16.2.3</b></a></li>2093 </ul>2094 </li>2095 <li class="indline1">min-fresh 2096 <ul class="ind">2097 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.2"><b>16.2.3</b></a></li>2098 </ul>2099 </li>2100 <li class="indline1">must-revalidate 2101 <ul class="ind">2102 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.5"><b>16.2.4</b></a></li>2103 </ul>2104 </li>2105 </ul>2106 </li>2107 <li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind">2108 <li class="indline1">no-cache 2109 <ul class="ind">2110 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.1"><b>16.2.1</b></a></li>2111 </ul>2112 </li>2113 <li class="indline1">no-store 2114 <ul class="ind">2115 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.2"><b>16.2.2</b></a></li>2116 </ul>2117 </li>2118 <li class="indline1">no-transform 2119 <ul class="ind">2120 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.3"><b>16.2.5</b></a></li>2121 </ul>2122 </li>2123 </ul>2124 </li>2125 <li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind">2126 <li class="indline1">only-if-cached 2127 <ul class="ind">2128 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.o.1"><b>16.2.4</b></a></li>2129 </ul>2130 </li>2131 </ul>2132 </li>2133 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind">2134 <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">2135 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li>2136 <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>2137 <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>2138 <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>2139 <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>2140 <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>2141 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.14">7.1</a></li>2142 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.13">4.3</a></li>2143 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.11">2</a></li>2144 </ul>2145 </li>2146 <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">2147 <li class="indline1"><em>Section 8.1.1</em> <a class="iref" href="#rfc.xref.Part2.1">11</a></li>2148 </ul>2149 </li>2150 <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">2151 <li class="indline1"><em>Section 4.2.2</em> <a class="iref" href="#rfc.xref.Part3.1">7.2</a></li>2152 <li class="indline1"><em>Section 5.1</em> <a class="iref" href="#rfc.xref.Part3.2">8</a></li>2153 </ul>2154 </li>2155 <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>2156 <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">2157 <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>2158 </ul>2159 </li>2160 <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">2161 <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>2162 </ul>2163 </li>2164 <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>, <a class="iref" href="#rfc.xref.header.pragma.2">17.1</a></li>2165 <li class="indline1">private 2166 <ul class="ind">2167 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.2"><b>16.2.1</b></a></li>2168 </ul>2169 </li>2170 <li class="indline1">proxy-revalidate 2171 <ul class="ind">2172 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.3"><b>16.2.4</b></a></li>2173 </ul>2174 </li>2175 <li class="indline1">public 2176 <ul class="ind">2177 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.1"><b>16.2.1</b></a></li>2178 </ul>2179 </li>2180 </ul>2181 </li>2182 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind">2183 <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>2184 <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>2185 <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>2186 <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>2187 <li class="indline1"><em>RFC3864</em> <a class="iref" href="#rfc.xref.RFC3864.1">17.1</a>, <a class="iref" href="#RFC3864"><b>20.2</b></a></li>2188 </ul>2189 </li>2190 <li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind">2191 <li class="indline1">s-maxage 2192 <ul class="ind">2193 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.s.3"><b>16.2.3</b></a></li>2194 </ul>2195 </li>2196 <li class="indline1">semantically transparent <a class="iref" href="#rfc.iref.s.1">1.1</a></li>2197 <li class="indline1">stale <a class="iref" href="#rfc.iref.s.2">1.2</a></li>2198 </ul>2199 </li>2200 <li class="indline0"><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul class="ind">2201 <li class="indline1">validator <a class="iref" href="#rfc.iref.v.1">1.2</a></li>2202 <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>, <a class="iref" href="#rfc.xref.header.vary.2">17.1</a></li>2203 </ul>2204 </li>2205 <li class="indline0"><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul class="ind">2206 <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">17.1</a>, <a class="iref" href="#rfc.xref.header.warning.7">A.1</a></li>2207 </ul>2208 </li>2209 </ul>2210 </div>2211 2219 </body> 2212 2220 </html>
Note: See TracChangeset
for help on using the changeset viewer.