Changeset 1099 for draft-ietf-httpbis/05/p6-cache.html
- Timestamp:
- 01/01/11 17:23:02 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/05/p6-cache.html
r381 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.400, 2008-10-10 14:04:14, 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-05"> 403 <meta name="DC.Date.Issued" scheme="ISO8601" content="2008-11"> 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-05"> 411 <meta name="dct.issued" scheme="ISO8601" content="2008-11-16"> 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-05> 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: May 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">November 16, 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: May 20, 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">November 16, 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-05</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 May2009.</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 May 20, 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>605 <li class="tocline1">B.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p6-cache-04</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> 613 <li>B.6 <a href="#changes.since.04">Since draft-ietf-httpbis-p6-cache-04</a></li> 606 614 </ul> 607 615 </li> 608 <li class="tocline0"><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li>609 <li class="tocline0"><a href="#rfc.index">Index</a></li>616 <li><a href="#rfc.index">Index</a></li> 617 <li><a href="#rfc.ipr">Intellectual Property and Copyright Statements</a></li> 610 618 </ul> 611 619 <h1 id="rfc.section.1" class="np"><a href="#rfc.section.1">1.</a> <a id="caching" href="#caching">Introduction</a></h1> … … 650 658 </ol> 651 659 <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> 652 < dl class="empty">653 < dd> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification.660 <ul class="empty"> 661 <li> <b>Note:</b> The server, cache, or client implementor might be faced with design decisions not explicitly discussed in this specification. 654 662 If a decision might affect semantic transparency, the implementor ought to err on the side of maintaining transparency unless 655 663 a careful and complete analysis shows significant benefits in breaking transparency. 656 </ dd>657 </ dl>664 </li> 665 </ul> 658 666 <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> 659 667 <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> 660 668 <p id="rfc.section.1.2.p.2"> <span id="rfc.iref.c.2"></span> <dfn>cacheable</dfn> 661 669 </p> 662 < dl class="empty">663 < dd>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests.670 <ul class="empty"> 671 <li>A response is cacheable if a cache is allowed to store a copy of the response message for use in answering subsequent requests. 664 672 Even when a response is cacheable, there may be additional constraints on whether a cache can use the cached copy for a particular 665 673 request. 666 </ dd>667 </ dl>674 </li> 675 </ul> 668 676 <p id="rfc.section.1.2.p.3"> <span id="rfc.iref.f.1"></span> <dfn>first-hand</dfn> 669 677 </p> 670 < dl class="empty">671 < dd>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more678 <ul class="empty"> 679 <li>A response is first-hand if it comes directly and without unnecessary delay from the origin server, perhaps via one or more 672 680 proxies. A response is also first-hand if its validity has just been checked directly with the origin server. 673 </ dd>674 </ dl>681 </li> 682 </ul> 675 683 <p id="rfc.section.1.2.p.4"> <span id="rfc.iref.e.1"></span> <dfn>explicit expiration time</dfn> 676 684 </p> 677 < dl class="empty">678 < dd>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</dd>679 </ dl>685 <ul class="empty"> 686 <li>The time at which the origin server intends that an entity should no longer be returned by a cache without further validation.</li> 687 </ul> 680 688 <p id="rfc.section.1.2.p.5"> <span id="rfc.iref.h.1"></span> <dfn>heuristic expiration time</dfn> 681 689 </p> 682 < dl class="empty">683 < dd>An expiration time assigned by a cache when no explicit expiration time is available.</dd>684 </ dl>690 <ul class="empty"> 691 <li>An expiration time assigned by a cache when no explicit expiration time is available.</li> 692 </ul> 685 693 <p id="rfc.section.1.2.p.6"> <span id="rfc.iref.a.1"></span> <dfn>age</dfn> 686 694 </p> 687 < dl class="empty">688 < dd>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</dd>689 </ dl>695 <ul class="empty"> 696 <li>The age of a response is the time since it was sent by, or successfully validated with, the origin server.</li> 697 </ul> 690 698 <p id="rfc.section.1.2.p.7"> <span id="rfc.iref.f.2"></span> <dfn>freshness lifetime</dfn> 691 699 </p> 692 < dl class="empty">693 < dd>The length of time between the generation of a response and its expiration time.</dd>694 </ dl>700 <ul class="empty"> 701 <li>The length of time between the generation of a response and its expiration time.</li> 702 </ul> 695 703 <p id="rfc.section.1.2.p.8"> <span id="rfc.iref.f.3"></span> <dfn>fresh</dfn> 696 704 </p> 697 < dl class="empty">698 < dd>A response is fresh if its age has not yet exceeded its freshness lifetime.</dd>699 </ dl>705 <ul class="empty"> 706 <li>A response is fresh if its age has not yet exceeded its freshness lifetime.</li> 707 </ul> 700 708 <p id="rfc.section.1.2.p.9"> <span id="rfc.iref.s.2"></span> <dfn>stale</dfn> 701 709 </p> 702 < dl class="empty">703 < dd>A response is stale if its age has passed its freshness lifetime.</dd>704 </ dl>710 <ul class="empty"> 711 <li>A response is stale if its age has passed its freshness lifetime.</li> 712 </ul> 705 713 <p id="rfc.section.1.2.p.10"> <span id="rfc.iref.v.1"></span> <dfn>validator</dfn> 706 714 </p> 707 < dl class="empty">708 < 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 equivalent715 <ul class="empty"> 716 <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 709 717 copy of an entity. 710 </ dd>711 </ dl>718 </li> 719 </ul> 712 720 <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> 713 721 <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" … … 1000 1008 such a response was taken from a cache by comparing the Date header to the current time. 1001 1009 </p> 1002 < dl class="empty">1003 < dd> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning.1004 </ dd>1005 </ dl>1010 <ul class="empty"> 1011 <li> <b>Note:</b> some HTTP/1.0 caches are known to violate this expectation without providing any Warning. 1012 </li> 1013 </ul> 1006 1014 <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 1007 1015 request. This might be because absolute semantic transparency is deemed necessary by the service author, or because of security … … 1075 1083 <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>). 1076 1084 </p> 1077 < dl class="empty">1078 < dd>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms1085 <ul class="empty"> 1086 <li>Warning: unnecessary modification of end-to-end headers might cause authentication failures if stronger authentication mechanisms 1079 1087 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. 1080 </ dd>1081 </ dl>1088 </li> 1089 </ul> 1082 1090 <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.16"><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.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>). 1083 1091 </p> … … 1106 1114 stored with the cache entry (except for stored Warning headers with warn-code 1xx, which are deleted even if not overridden). 1107 1115 </p> 1108 < dl class="empty">1109 < 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 associated1116 <ul class="empty"> 1117 <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 1110 1118 with a previous response for the same entity or sub-ranges thereof, although it might not always be meaningful or correct 1111 1119 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 1112 1120 delete a header that it had provided with a previous response. 1113 </ dd>1114 </ dl>1121 </li> 1122 </ul> 1115 1123 <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> 1116 1124 <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 … … 1207 1215 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. 1208 1216 </p> 1209 < dl class="empty">1210 < dd> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable.1211 </ dd>1212 </ dl>1217 <ul class="empty"> 1218 <li> <b>Note:</b> a new response that has an older Date header value than existing cached responses is not cacheable. 1219 </li> 1220 </ul> 1213 1221 <h1 id="rfc.section.15"><a href="#rfc.section.15">15.</a> <a id="history.lists" href="#history.lists">History Lists</a></h1> 1214 1222 <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 … … 1222 1230 </p> 1223 1231 <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> 1224 < dl class="empty">1225 < dd> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors1232 <ul class="empty"> 1233 <li> <b>Note:</b> if history list mechanisms unnecessarily prevent users from viewing stale resources, this will tend to force service authors 1226 1234 to avoid using HTTP expiration controls and cache controls when they would otherwise like to. Service authors may consider 1227 1235 it important that users not be presented with error messages or warning messages when they use navigation controls (such as … … 1229 1237 user interface considerations may force service authors to resort to other means of preventing caching (e.g. "once-only" URLs) 1230 1238 in order not to suffer the effects of improperly functioning history mechanisms. 1231 </ dd>1232 </ dl>1239 </li> 1240 </ul> 1233 1241 <h1 id="rfc.section.16"><a href="#rfc.section.16">16.</a> <a id="header.fields" href="#header.fields">Header Field Definitions</a></h1> 1234 1242 <p id="rfc.section.16.p.1">This section defines the syntax and semantics of HTTP/1.1 header fields related to caching.</p> … … 1260 1268 is to be given in the response. 1261 1269 </p> 1262 < dl class="empty">1263 < 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>).1264 </ dd>1265 </ dl>1270 <ul class="empty"> 1271 <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>). 1272 </li> 1273 </ul> 1266 1274 <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 1267 1275 might be applicable to all recipients along the request/response chain. It is not possible to specify a cache-directive for … … 1318 1326 <p id="rfc.section.16.2.1.p.2"> <span id="rfc.iref.c.4"></span> <span id="rfc.iref.p.1"></span> public 1319 1327 </p> 1320 < dl class="empty">1321 < 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 also1328 <ul class="empty"> 1329 <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 1322 1330 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.) 1323 </ dd>1324 </ dl>1331 </li> 1332 </ul> 1325 1333 <p id="rfc.section.16.2.1.p.3"> <span id="rfc.iref.c.5"></span> <span id="rfc.iref.p.2"></span> private 1326 1334 </p> 1327 < dl class="empty">1328 < 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 for1335 <ul class="empty"> 1336 <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 1329 1337 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. 1330 </ dd>1331 < 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 message1338 </li> 1339 <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 1332 1340 content. 1333 </ dd>1334 </ dl>1341 </li> 1342 </ul> 1335 1343 <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 1336 1344 </p> 1337 < dl class="empty">1338 < 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 origin1345 <ul class="empty"> 1346 <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 1339 1347 server to prevent caching even by caches that have been configured to return stale responses to client requests. 1340 </ dd>1341 < 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 origin1348 </li> 1349 <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 1342 1350 server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. 1343 < dl class="empty">1344 < dd> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive.1345 </ dd>1346 </ dl>1347 </ dd>1348 </ dl>1351 <ul class="empty"> 1352 <li> <b>Note:</b> Most HTTP/1.0 caches will not recognize or obey this directive. 1353 </li> 1354 </ul> 1355 </li> 1356 </ul> 1349 1357 <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> 1350 1358 <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 1351 1359 </p> 1352 < dl class="empty">1353 < dd>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example,1360 <ul class="empty"> 1361 <li>The purpose of the no-store directive is to prevent the inadvertent release or retention of sensitive information (for example, 1354 1362 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 1355 1363 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. 1356 </ dd>1357 < dd>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching1364 </li> 1365 <li>Even when this directive is associated with a response, users might explicitly store such a response outside of the caching 1358 1366 system (e.g., with a "Save As" dialog). History buffers <em class="bcp14">MAY</em> store such responses as part of their normal operation. 1359 </ dd>1360 < dd>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about1367 </li> 1368 <li>The purpose of this directive is to meet the stated requirements of certain users and service authors who are concerned about 1361 1369 accidental releases of information via unanticipated accesses to cache data structures. While the use of this directive might 1362 1370 improve privacy in some cases, we caution that it is NOT in any way a reliable or sufficient mechanism for ensuring privacy. 1363 1371 In particular, malicious or compromised caches might not recognize or obey this directive, and communications networks might 1364 1372 be vulnerable to eavesdropping. 1365 </ dd>1366 </ dl>1373 </li> 1374 </ul> 1367 1375 <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> 1368 1376 <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, … … 1380 1388 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. 1381 1389 </p> 1382 < dl class="empty">1383 < 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 network1390 <ul class="empty"> 1391 <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 1384 1392 including older caches that do not understand that feature. The origin server will need to combine the new feature with an 1385 1393 Expires field whose value is less than or equal to the Date value. This will prevent older caches from improperly caching 1386 1394 the response. 1387 </ dd>1388 </ dl>1395 </li> 1396 </ul> 1389 1397 <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 1390 1398 </p> 1391 < dl class="empty">1392 < dd>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified1399 <ul class="empty"> 1400 <li>If a response includes an s-maxage directive, then for a shared cache (but not for a private cache), the maximum age specified 1393 1401 by this directive overrides the maximum age specified by either the max-age directive or the Expires header. The s-maxage 1394 1402 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 1395 1403 revalidating it with the origin server. The s-maxage directive is always ignored by a private cache. 1396 </ dd>1397 </ dl>1404 </li> 1405 </ul> 1398 1406 <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 1399 1407 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 … … 1404 1412 <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 1405 1413 </p> 1406 < dl class="empty">1407 < dd>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless1414 <ul class="empty"> 1415 <li>Indicates that the client is willing to accept a response whose age is no greater than the specified time in seconds. Unless 1408 1416 max-stale directive is also included, the client is not willing to accept a stale response. 1409 </ dd>1410 </ dl>1417 </li> 1418 </ul> 1411 1419 <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 1412 1420 </p> 1413 < dl class="empty">1414 < dd>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the1421 <ul class="empty"> 1422 <li>Indicates that the client is willing to accept a response whose freshness lifetime is no less than its current age plus the 1415 1423 specified time in seconds. That is, the client wants a response that will still be fresh for at least the specified number 1416 1424 of seconds. 1417 </ dd>1418 </ dl>1425 </li> 1426 </ul> 1419 1427 <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 1420 1428 </p> 1421 < dl class="empty">1422 < dd>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned1429 <ul class="empty"> 1430 <li>Indicates that the client is willing to accept a response that has exceeded its expiration time. If max-stale is assigned 1423 1431 a value, then the client is willing to accept a response that has exceeded its expiration time by no more than the specified 1424 1432 number of seconds. If no value is assigned to max-stale, then the client is willing to accept a stale response of any age. 1425 </ dd>1426 </ dl>1433 </li> 1434 </ul> 1427 1435 <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 1428 1436 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). … … 1446 1454 <p id="rfc.section.16.2.4.p.3">The client can specify these three kinds of action using Cache-Control request directives:</p> 1447 1455 <p id="rfc.section.16.2.4.p.4">End-to-end reload </p> 1448 < dl class="empty">1449 < dd>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache".1456 <ul class="empty"> 1457 <li>The request includes a "no-cache" cache-control directive or, for compatibility with HTTP/1.0 clients, "Pragma: no-cache". 1450 1458 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. 1451 </ dd>1452 </ dl>1459 </li> 1460 </ul> 1453 1461 <p id="rfc.section.16.2.4.p.5">Specific end-to-end revalidation </p> 1454 < dl class="empty">1455 < dd>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to1462 <ul class="empty"> 1463 <li>The request includes a "max-age=0" cache-control directive, which forces each cache along the path to the origin server to 1456 1464 revalidate its own entry, if any, with the next cache or server. The initial request includes a cache-validating conditional 1457 1465 with the client's current validator. 1458 </ dd>1459 </ dl>1466 </li> 1467 </ul> 1460 1468 <p id="rfc.section.16.2.4.p.6">Unspecified end-to-end revalidation </p> 1461 < dl class="empty">1462 < dd>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate1469 <ul class="empty"> 1470 <li>The request includes "max-age=0" cache-control directive, which forces each cache along the path to the origin server to revalidate 1463 1471 its own entry, if any, with the next cache or server. The initial request does not include a cache-validating conditional; 1464 1472 the first cache along the path (if any) that holds a cache entry for this resource includes a cache-validating conditional 1465 1473 with its current validator. 1466 </ dd>1467 </ dl>1474 </li> 1475 </ul> 1468 1476 <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 1469 1477 </p> 1470 < dl class="empty">1471 < dd>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client1478 <ul class="empty"> 1479 <li>When an intermediate cache is forced, by means of a max-age=0 directive, to revalidate its own cache entry, and the client 1472 1480 has supplied its own validator in the request, the supplied validator might differ from the validator currently stored with 1473 1481 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. 1474 </ dd>1475 < dd>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own1482 </li> 1483 <li>However, the choice of validator might affect performance. The best approach is for the intermediate cache to use its own 1476 1484 validator when making its request. If the server replies with 304 (Not Modified), then the cache can return its now validated 1477 1485 copy to the client with a 200 (OK) response. If the server replies with a new entity and cache validator, however, the intermediate … … 1479 1487 If the client's validator is equal to the origin server's, then the intermediate cache simply returns 304 (Not Modified). 1480 1488 Otherwise, it returns the new entity with a 200 (OK) response. 1481 </ dd>1482 < dd>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age.1483 </ dd>1484 </ dl>1489 </li> 1490 <li>If a request includes the no-cache directive, it <em class="bcp14">SHOULD NOT</em> include min-fresh, max-stale, or max-age. 1491 </li> 1492 </ul> 1485 1493 <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 1486 1494 </p> 1487 < dl class="empty">1488 < dd>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses1495 <ul class="empty"> 1496 <li>In some cases, such as times of extremely poor network connectivity, a client may want a cache to return only those responses 1489 1497 that it currently has stored, and not to reload or revalidate with the origin server. To do this, the client may include the 1490 1498 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 1491 1499 Timeout) status. However, if a group of caches is being operated as a unified system with good internal connectivity, such 1492 1500 a request <em class="bcp14">MAY</em> be forwarded within that group of caches. 1493 </ dd>1494 </ dl>1501 </li> 1502 </ul> 1495 1503 <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 1496 1504 </p> 1497 < dl class="empty">1498 < 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 to1505 <ul class="empty"> 1506 <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 1499 1507 require revalidation of a cache entry on any subsequent use. When the must-revalidate directive is present in a response received 1500 1508 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. 1501 1509 (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 1502 1510 is stale.) 1503 </ dd>1504 < dd>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances1511 </li> 1512 <li>The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances 1505 1513 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. 1506 </ dd>1507 < 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 incorrect1514 </li> 1515 <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 1508 1516 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. 1509 </ dd>1510 < 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.1511 </ dd>1512 </ dl>1517 </li> 1518 <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. 1519 </li> 1520 </ul> 1513 1521 <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 1514 1522 </p> 1515 < dl class="empty">1516 < dd>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared1523 <ul class="empty"> 1524 <li>The proxy-revalidate directive has the same meaning as the must-revalidate directive, except that it does not apply to non-shared 1517 1525 user agent caches. It can be used on a response to an authenticated request to permit the user's cache to store and later 1518 1526 return the response without needing to revalidate it (since it has already been authenticated once by that user), while still … … 1520 1528 Note that such authenticated responses also need the public cache control directive in order to allow them to be cached at 1521 1529 all. 1522 </ dd>1523 </ dl>1530 </li> 1531 </ul> 1524 1532 <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> 1525 1533 <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 1526 1534 </p> 1527 < dl class="empty">1528 < dd>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent1535 <ul class="empty"> 1536 <li>Implementors of intermediate caches (proxies) have found it useful to convert the media type of certain entity bodies. A non-transparent 1529 1537 proxy might, for example, convert between image formats in order to save cache space or to reduce the amount of traffic on 1530 1538 a slow link. 1531 </ dd>1532 < dd>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain1539 </li> 1540 <li>Serious operational problems occur, however, when these transformations are applied to entity bodies intended for certain 1533 1541 kinds of applications. For example, applications for medical imaging, scientific data analysis and those using end-to-end 1534 1542 authentication, all depend on receiving an entity body that is bit for bit identical to the original entity-body. 1535 </ dd>1536 < 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.1537 </ dd>1538 </ dl>1543 </li> 1544 <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. 1545 </li> 1546 </ul> 1539 1547 <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> 1540 1548 <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 … … 1578 1586 <div id="rfc.figure.u.17"></div><pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT 1579 1587 </pre><p id="rfc.section.16.3.p.7"> </p> 1580 < dl class="empty">1581 < 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.1582 </ dd>1583 </ dl>1588 <ul class="empty"> 1589 <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. 1590 </li> 1591 </ul> 1584 1592 <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"). 1585 1593 </p> … … 1615 1623 HTTP. 1616 1624 </p> 1617 < dl class="empty">1618 < 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 reliable1625 <ul class="empty"> 1626 <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 1619 1627 replacement for "Cache-Control: no-cache" in a response. 1620 </ dd>1621 </ dl>1628 </li> 1629 </ul> 1622 1630 <div id="rfc.iref.v.2"></div> 1623 1631 <div id="rfc.iref.h.6"></div> … … 1696 1704 </p> 1697 1705 <p id="rfc.section.16.6.p.12">110 Response is stale </p> 1698 < dl class="empty">1699 < dd> <em class="bcp14">MUST</em> be included whenever the returned response is stale.1700 </ dd>1701 </ dl>1706 <ul class="empty"> 1707 <li> <em class="bcp14">MUST</em> be included whenever the returned response is stale. 1708 </li> 1709 </ul> 1702 1710 <p id="rfc.section.16.6.p.13">111 Revalidation failed </p> 1703 < dl class="empty">1704 < 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 inability1711 <ul class="empty"> 1712 <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 1705 1713 to reach the server. 1706 </ dd>1707 </ dl>1714 </li> 1715 </ul> 1708 1716 <p id="rfc.section.16.6.p.14">112 Disconnected operation </p> 1709 < dl class="empty">1710 < 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.1711 </ dd>1712 </ dl>1717 <ul class="empty"> 1718 <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. 1719 </li> 1720 </ul> 1713 1721 <p id="rfc.section.16.6.p.15">113 Heuristic expiration </p> 1714 < dl class="empty">1715 < 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 greater1722 <ul class="empty"> 1723 <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 1716 1724 than 24 hours. 1717 </ dd>1718 </ dl>1725 </li> 1726 </ul> 1719 1727 <p id="rfc.section.16.6.p.16">199 Miscellaneous warning </p> 1720 < dl class="empty">1721 < 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.1722 </ dd>1723 </ dl>1728 <ul class="empty"> 1729 <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. 1730 </li> 1731 </ul> 1724 1732 <p id="rfc.section.16.6.p.17">214 Transformation applied </p> 1725 < dl class="empty">1726 < 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 the1733 <ul class="empty"> 1734 <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 1727 1735 Content-Encoding header) or media-type (as specified in the Content-Type header) of the response, or the entity-body of the 1728 1736 response, unless this Warning code already appears in the response. 1729 </ dd>1730 </ dl>1737 </li> 1738 </ul> 1731 1739 <p id="rfc.section.16.6.p.18">299 Miscellaneous persistent warning </p> 1732 < dl class="empty">1733 < 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.1734 </ dd>1735 </ dl>1740 <ul class="empty"> 1741 <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. 1742 </li> 1743 </ul> 1736 1744 <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. 1737 1745 </p> … … 1746 1754 <div id="rfc.table.1"> 1747 1755 <div id="iana.header.registration.table"></div> 1748 <table summary="" class="tt full" cellpadding="3" cellspacing="0">1756 <table class="tt full left" cellpadding="3" cellspacing="0"> 1749 1757 <thead> 1750 1758 <tr> … … 1757 1765 <tbody> 1758 1766 <tr> 1759 <td >Age</td>1760 <td >http</td>1761 <td >standard</td>1762 <td > <a href="#header.age" id="rfc.xref.header.age.1" title="Age">Section 16.1</a>1767 <td class="left">Age</td> 1768 <td class="left">http</td> 1769 <td class="left">standard</td> 1770 <td class="left"> <a href="#header.age" id="rfc.xref.header.age.1" title="Age">Section 16.1</a> 1763 1771 </td> 1764 1772 </tr> 1765 1773 <tr> 1766 <td >Cache-Control</td>1767 <td >http</td>1768 <td >standard</td>1769 <td > <a href="#header.cache-control" id="rfc.xref.header.cache-control.11" title="Cache-Control">Section 16.2</a>1774 <td class="left">Cache-Control</td> 1775 <td class="left">http</td> 1776 <td class="left">standard</td> 1777 <td class="left"> <a href="#header.cache-control" id="rfc.xref.header.cache-control.11" title="Cache-Control">Section 16.2</a> 1770 1778 </td> 1771 1779 </tr> 1772 1780 <tr> 1773 <td >Expires</td>1774 <td >http</td>1775 <td >standard</td>1776 <td > <a href="#header.expires" id="rfc.xref.header.expires.3" title="Expires">Section 16.3</a>1781 <td class="left">Expires</td> 1782 <td class="left">http</td> 1783 <td class="left">standard</td> 1784 <td class="left"> <a href="#header.expires" id="rfc.xref.header.expires.3" title="Expires">Section 16.3</a> 1777 1785 </td> 1778 1786 </tr> 1779 1787 <tr> 1780 <td >Pragma</td>1781 <td >http</td>1782 <td >standard</td>1783 <td > <a href="#header.pragma" id="rfc.xref.header.pragma.2" title="Pragma">Section 16.4</a>1788 <td class="left">Pragma</td> 1789 <td class="left">http</td> 1790 <td class="left">standard</td> 1791 <td class="left"> <a href="#header.pragma" id="rfc.xref.header.pragma.2" title="Pragma">Section 16.4</a> 1784 1792 </td> 1785 1793 </tr> 1786 1794 <tr> 1787 <td >Vary</td>1788 <td >http</td>1789 <td >standard</td>1790 <td > <a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section 16.5</a>1795 <td class="left">Vary</td> 1796 <td class="left">http</td> 1797 <td class="left">standard</td> 1798 <td class="left"> <a href="#header.vary" id="rfc.xref.header.vary.2" title="Vary">Section 16.5</a> 1791 1799 </td> 1792 1800 </tr> 1793 1801 <tr> 1794 <td >Warning</td>1795 <td >http</td>1796 <td >standard</td>1797 <td > <a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section 16.6</a>1802 <td class="left">Warning</td> 1803 <td class="left">http</td> 1804 <td class="left">standard</td> 1805 <td class="left"> <a href="#header.warning" id="rfc.xref.header.warning.6" title="Warning">Section 16.6</a> 1798 1806 </td> 1799 1807 </tr> … … 1816 1824 <h2 id="rfc.references.1"><a href="#rfc.section.20.1" id="rfc.section.20.1">20.1</a> Normative References 1817 1825 </h2> 1818 <table summary="Normative References">1826 <table> 1819 1827 <tr> 1820 1828 <td class="reference"><b id="ISO-8859-1">[ISO-8859-1]</b></td> 1821 <td class="top">International Organization for Standardization, “ 1822 Information technology -- 8-bit single-byte coded graphic character sets -- Part 1: Latin alphabet No. 1 1823 ”, ISO/IEC 8859-1:1998, 1998. 1824 </td> 1829 <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> 1825 1830 </tr> 1826 1831 <tr> 1827 1832 <td class="reference"><b id="Part1">[Part1]</b></td> 1828 <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-05">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-05 (work in progress), November 2008.1833 <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-05">HTTP/1.1, part 1: URIs, Connections, and Message Parsing</a>”, Internet-Draft draft-ietf-httpbis-p1-messaging-05 (work in progress), November 2008. 1829 1834 </td> 1830 1835 </tr> 1831 1836 <tr> 1832 1837 <td class="reference"><b id="Part2">[Part2]</b></td> 1833 <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-05">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-05 (work in progress), November 2008.1838 <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-05">HTTP/1.1, part 2: Message Semantics</a>”, Internet-Draft draft-ietf-httpbis-p2-semantics-05 (work in progress), November 2008. 1834 1839 </td> 1835 1840 </tr> 1836 1841 <tr> 1837 1842 <td class="reference"><b id="Part3">[Part3]</b></td> 1838 <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-05">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-05 (work in progress), November 2008.1843 <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-05">HTTP/1.1, part 3: Message Payload and Content Negotiation</a>”, Internet-Draft draft-ietf-httpbis-p3-payload-05 (work in progress), November 2008. 1839 1844 </td> 1840 1845 </tr> 1841 1846 <tr> 1842 1847 <td class="reference"><b id="Part4">[Part4]</b></td> 1843 <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-05">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-05 (work in progress), November 2008.1848 <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-05">HTTP/1.1, part 4: Conditional Requests</a>”, Internet-Draft draft-ietf-httpbis-p4-conditional-05 (work in progress), November 2008. 1844 1849 </td> 1845 1850 </tr> 1846 1851 <tr> 1847 1852 <td class="reference"><b id="Part5">[Part5]</b></td> 1848 <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-05">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-05 (work in progress), November 2008.1853 <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-05">HTTP/1.1, part 5: Range Requests and Partial Responses</a>”, Internet-Draft draft-ietf-httpbis-p5-range-05 (work in progress), November 2008. 1849 1854 </td> 1850 1855 </tr> 1851 1856 <tr> 1852 1857 <td class="reference"><b id="Part7">[Part7]</b></td> 1853 <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-05">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-05 (work in progress), November 2008.1858 <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-05">HTTP/1.1, part 7: Authentication</a>”, Internet-Draft draft-ietf-httpbis-p7-auth-05 (work in progress), November 2008. 1854 1859 </td> 1855 1860 </tr> 1856 1861 <tr> 1857 1862 <td class="reference"><b id="RFC2047">[RFC2047]</b></td> 1858 <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.1863 <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. 1859 1864 </td> 1860 1865 </tr> 1861 1866 <tr> 1862 1867 <td class="reference"><b id="RFC2119">[RFC2119]</b></td> 1863 <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.1868 <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. 1864 1869 </td> 1865 1870 </tr> … … 1867 1872 <h2 id="rfc.references.2"><a href="#rfc.section.20.2" id="rfc.section.20.2">20.2</a> Informative References 1868 1873 </h2> 1869 <table summary="Informative References">1874 <table> 1870 1875 <tr> 1871 1876 <td class="reference"><b id="RFC1305">[RFC1305]</b></td> 1872 <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.1877 <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. 1873 1878 </td> 1874 1879 </tr> 1875 1880 <tr> 1876 1881 <td class="reference"><b id="RFC2616">[RFC2616]</b></td> 1877 <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.1882 <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. 1878 1883 </td> 1879 1884 </tr> 1880 1885 <tr> 1881 1886 <td class="reference"><b id="RFC3864">[RFC3864]</b></td> 1882 <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.1887 <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. 1883 1888 </td> 1884 1889 </tr> 1885 1890 </table> 1886 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1887 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1888 (editor) 1889 <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> 1890 <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> 1891 <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> 1892 <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> 1893 <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> 1894 <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> 1895 <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> 1896 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1897 (editor) 1898 <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> 1899 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1900 (editor) 1901 <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> 1902 <h1 id="rfc.section.A"><a href="#rfc.section.A">A.</a> <a id="compatibility" href="#compatibility">Compatibility with Previous Versions</a></h1> 1891 <div class="avoidbreak"> 1892 <h1 id="rfc.authors"><a href="#rfc.authors">Authors' Addresses</a></h1> 1893 <address class="vcard"><span class="vcardline"><span class="fn">Roy T. Fielding</span> 1894 (editor) 1895 <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> 1896 <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> 1897 <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> 1898 <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> 1899 <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> 1900 <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> 1901 <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> 1902 <address class="vcard"><span class="vcardline"><span class="fn">Yves Lafon</span> 1903 (editor) 1904 <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> 1905 <address class="vcard"><span class="vcardline"><span class="fn">Julian F. Reschke</span> 1906 (editor) 1907 <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> 1908 </div> 1909 <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> 1903 1910 <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> 1904 1911 <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>) … … 1986 1993 <li>Rewrite ABNFs to spell out whitespace rules, factor out header value format definitions.</li> 1987 1994 </ul> 1995 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1996 <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> 1997 </p> 1998 <div class="print2col"> 1999 <ul class="ind"> 2000 <li><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul> 2001 <li>age <a href="#rfc.iref.a.1">1.2</a></li> 2002 <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> 2003 </ul> 2004 </li> 2005 <li><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul> 2006 <li>cache <a href="#rfc.iref.c.1">1.1</a></li> 2007 <li>Cache Directives 2008 <ul> 2009 <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> 2010 <li>max-stale <a href="#rfc.iref.c.11"><b>16.2.3</b></a></li> 2011 <li>min-fresh <a href="#rfc.iref.c.10"><b>16.2.3</b></a></li> 2012 <li>must-revalidate <a href="#rfc.iref.c.14"><b>16.2.4</b></a></li> 2013 <li>no-cache <a href="#rfc.iref.c.6"><b>16.2.1</b></a></li> 2014 <li>no-store <a href="#rfc.iref.c.7"><b>16.2.2</b></a></li> 2015 <li>no-transform <a href="#rfc.iref.c.16"><b>16.2.5</b></a></li> 2016 <li>only-if-cached <a href="#rfc.iref.c.13"><b>16.2.4</b></a></li> 2017 <li>private <a href="#rfc.iref.c.5"><b>16.2.1</b></a></li> 2018 <li>proxy-revalidate <a href="#rfc.iref.c.15"><b>16.2.4</b></a></li> 2019 <li>public <a href="#rfc.iref.c.4"><b>16.2.1</b></a></li> 2020 <li>s-maxage <a href="#rfc.iref.c.8"><b>16.2.3</b></a></li> 2021 </ul> 2022 </li> 2023 <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> 2024 <li>cacheable <a href="#rfc.iref.c.2">1.2</a></li> 2025 </ul> 2026 </li> 2027 <li><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul> 2028 <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> 2029 <li>explicit expiration time <a href="#rfc.iref.e.1">1.2</a></li> 2030 </ul> 2031 </li> 2032 <li><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul> 2033 <li>first-hand <a href="#rfc.iref.f.1">1.2</a></li> 2034 <li>fresh <a href="#rfc.iref.f.3">1.2</a></li> 2035 <li>freshness lifetime <a href="#rfc.iref.f.2">1.2</a></li> 2036 </ul> 2037 </li> 2038 <li><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul> 2039 <li><tt>Grammar</tt> 2040 <ul> 2041 <li><tt>Age</tt> <a href="#rfc.iref.g.1"><b>16.1</b></a></li> 2042 <li><tt>Age-v</tt> <a href="#rfc.iref.g.2"><b>16.1</b></a></li> 2043 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.4"><b>16.2</b></a></li> 2044 <li><tt>Cache-Control-v</tt> <a href="#rfc.iref.g.5"><b>16.2</b></a></li> 2045 <li><tt>cache-directive</tt> <a href="#rfc.iref.g.6"><b>16.2</b></a></li> 2046 <li><tt>cache-extension</tt> <a href="#rfc.iref.g.9"><b>16.2</b></a></li> 2047 <li><tt>cache-request-directive</tt> <a href="#rfc.iref.g.7"><b>16.2</b></a></li> 2048 <li><tt>cache-response-directive</tt> <a href="#rfc.iref.g.8"><b>16.2</b></a></li> 2049 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.3"><b>16.1</b></a></li> 2050 <li><tt>Expires</tt> <a href="#rfc.iref.g.10"><b>16.3</b></a></li> 2051 <li><tt>Expires-v</tt> <a href="#rfc.iref.g.11"><b>16.3</b></a></li> 2052 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.15"><b>16.4</b></a></li> 2053 <li><tt>Pragma</tt> <a href="#rfc.iref.g.12"><b>16.4</b></a></li> 2054 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.14"><b>16.4</b></a></li> 2055 <li><tt>Pragma-v</tt> <a href="#rfc.iref.g.13"><b>16.4</b></a></li> 2056 <li><tt>Vary</tt> <a href="#rfc.iref.g.16"><b>16.5</b></a></li> 2057 <li><tt>Vary-v</tt> <a href="#rfc.iref.g.17"><b>16.5</b></a></li> 2058 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.22"><b>16.6</b></a></li> 2059 <li><tt>warn-code</tt> <a href="#rfc.iref.g.21"><b>16.6</b></a></li> 2060 <li><tt>warn-date</tt> <a href="#rfc.iref.g.24"><b>16.6</b></a></li> 2061 <li><tt>warn-text</tt> <a href="#rfc.iref.g.23"><b>16.6</b></a></li> 2062 <li><tt>Warning</tt> <a href="#rfc.iref.g.18"><b>16.6</b></a></li> 2063 <li><tt>Warning-v</tt> <a href="#rfc.iref.g.19"><b>16.6</b></a></li> 2064 <li><tt>warning-value</tt> <a href="#rfc.iref.g.20"><b>16.6</b></a></li> 2065 </ul> 2066 </li> 2067 </ul> 2068 </li> 2069 <li><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul> 2070 <li>Headers 2071 <ul> 2072 <li>Age <a href="#rfc.iref.h.2"><b>16.1</b></a>, <a href="#rfc.xref.header.age.1">17.1</a></li> 2073 <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> 2074 <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> 2075 <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> 2076 <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> 2077 <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> 2078 </ul> 2079 </li> 2080 <li>heuristic expiration time <a href="#rfc.iref.h.1">1.2</a></li> 2081 </ul> 2082 </li> 2083 <li><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul> 2084 <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> 2085 </ul> 2086 </li> 2087 <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul> 2088 <li>max-age 2089 <ul> 2090 <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> 2091 </ul> 2092 </li> 2093 <li>max-stale 2094 <ul> 2095 <li>Cache Directive <a href="#rfc.iref.m.3"><b>16.2.3</b></a></li> 2096 </ul> 2097 </li> 2098 <li>min-fresh 2099 <ul> 2100 <li>Cache Directive <a href="#rfc.iref.m.2"><b>16.2.3</b></a></li> 2101 </ul> 2102 </li> 2103 <li>must-revalidate 2104 <ul> 2105 <li>Cache Directive <a href="#rfc.iref.m.5"><b>16.2.4</b></a></li> 2106 </ul> 2107 </li> 2108 </ul> 2109 </li> 2110 <li><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul> 2111 <li>no-cache 2112 <ul> 2113 <li>Cache Directive <a href="#rfc.iref.n.1"><b>16.2.1</b></a></li> 2114 </ul> 2115 </li> 2116 <li>no-store 2117 <ul> 2118 <li>Cache Directive <a href="#rfc.iref.n.2"><b>16.2.2</b></a></li> 2119 </ul> 2120 </li> 2121 <li>no-transform 2122 <ul> 2123 <li>Cache Directive <a href="#rfc.iref.n.3"><b>16.2.5</b></a></li> 2124 </ul> 2125 </li> 2126 </ul> 2127 </li> 2128 <li><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul> 2129 <li>only-if-cached 2130 <ul> 2131 <li>Cache Directive <a href="#rfc.iref.o.1"><b>16.2.4</b></a></li> 2132 </ul> 2133 </li> 2134 </ul> 2135 </li> 2136 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 2137 <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">2</a>, <a href="#rfc.xref.Part1.14">4.3</a>, <a href="#rfc.xref.Part1.15">7.1</a>, <a href="#rfc.xref.Part1.16">7.2</a>, <a href="#rfc.xref.Part1.17">7.2</a>, <a href="#rfc.xref.Part1.18">8</a>, <a href="#rfc.xref.Part1.19">16.3</a>, <a href="#Part1"><b>20.1</b></a>, <a href="#rfc.xref.Part1.20">A.1</a><ul> 2138 <li><em>Section 2.1</em> <a href="#rfc.xref.Part1.1">2</a></li> 2139 <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>, <a href="#rfc.xref.Part1.8">2</a></li> 2140 <li><em>Section 3.2</em> <a href="#rfc.xref.Part1.11">2</a>, <a href="#rfc.xref.Part1.13">2</a></li> 2141 <li><em>Section 3.3.1</em> <a href="#rfc.xref.Part1.10">2</a>, <a href="#rfc.xref.Part1.19">16.3</a></li> 2142 <li><em>Section 4.2</em> <a href="#rfc.xref.Part1.9">2</a>, <a href="#rfc.xref.Part1.18">8</a></li> 2143 <li><em>Section 4.4</em> <a href="#rfc.xref.Part1.16">7.2</a>, <a href="#rfc.xref.Part1.17">7.2</a></li> 2144 <li><em>Section 8.1</em> <a href="#rfc.xref.Part1.15">7.1</a></li> 2145 <li><em>Section 8.3</em> <a href="#rfc.xref.Part1.14">4.3</a></li> 2146 <li><em>Section 8.9</em> <a href="#rfc.xref.Part1.12">2</a></li> 2147 </ul> 2148 </li> 2149 <li><em>Part2</em> <a href="#rfc.xref.Part2.1">11</a>, <a href="#Part2"><b>20.1</b></a><ul> 2150 <li><em>Section 8.1.1</em> <a href="#rfc.xref.Part2.1">11</a></li> 2151 </ul> 2152 </li> 2153 <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> 2154 <li><em>Section 4.2.2</em> <a href="#rfc.xref.Part3.1">7.2</a></li> 2155 <li><em>Section 5.1</em> <a href="#rfc.xref.Part3.2">8</a></li> 2156 </ul> 2157 </li> 2158 <li><em>Part4</em> <a href="#rfc.xref.Part4.1">5</a>, <a href="#Part4"><b>20.1</b></a></li> 2159 <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> 2160 <li><em>Section 5</em> <a href="#rfc.xref.Part5.1">7.3</a>, <a href="#rfc.xref.Part5.2">10</a></li> 2161 </ul> 2162 </li> 2163 <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> 2164 <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> 2165 </ul> 2166 </li> 2167 <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> 2168 <li>private 2169 <ul> 2170 <li>Cache Directive <a href="#rfc.iref.p.2"><b>16.2.1</b></a></li> 2171 </ul> 2172 </li> 2173 <li>proxy-revalidate 2174 <ul> 2175 <li>Cache Directive <a href="#rfc.iref.p.3"><b>16.2.4</b></a></li> 2176 </ul> 2177 </li> 2178 <li>public 2179 <ul> 2180 <li>Cache Directive <a href="#rfc.iref.p.1"><b>16.2.1</b></a></li> 2181 </ul> 2182 </li> 2183 </ul> 2184 </li> 2185 <li><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul> 2186 <li><em>RFC1305</em> <a href="#rfc.xref.RFC1305.1">4.3</a>, <a href="#RFC1305"><b>20.2</b></a></li> 2187 <li><em>RFC2047</em> <a href="#rfc.xref.RFC2047.1">16.6</a>, <a href="#RFC2047"><b>20.1</b></a></li> 2188 <li><em>RFC2119</em> <a href="#rfc.xref.RFC2119.1">1.3</a>, <a href="#RFC2119"><b>20.1</b></a></li> 2189 <li><em>RFC2616</em> <a href="#RFC2616"><b>20.2</b></a>, <a href="#rfc.xref.RFC2616.1">B.1</a></li> 2190 <li><em>RFC3864</em> <a href="#rfc.xref.RFC3864.1">17.1</a>, <a href="#RFC3864"><b>20.2</b></a></li> 2191 </ul> 2192 </li> 2193 <li><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul> 2194 <li>s-maxage 2195 <ul> 2196 <li>Cache Directive <a href="#rfc.iref.s.3"><b>16.2.3</b></a></li> 2197 </ul> 2198 </li> 2199 <li>semantically transparent <a href="#rfc.iref.s.1">1.1</a></li> 2200 <li>stale <a href="#rfc.iref.s.2">1.2</a></li> 2201 </ul> 2202 </li> 2203 <li><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul> 2204 <li>validator <a href="#rfc.iref.v.1">1.2</a></li> 2205 <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> 2206 </ul> 2207 </li> 2208 <li><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul> 2209 <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> 2210 </ul> 2211 </li> 2212 </ul> 2213 </div> 1988 2214 <h1><a id="rfc.copyright" href="#rfc.copyright">Full Copyright Statement</a></h1> 2215 <p>Copyright © The IETF Trust (2008).</p> 1989 2216 <p>This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the 1990 2217 authors retain all their rights. … … 2004 2231 <p>Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result 2005 2232 of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users 2006 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>>.2233 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>. 2007 2234 </p> 2008 2235 <p>The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary … … 2010 2237 at <a href="mailto:ietf-ipr@ietf.org">ietf-ipr@ietf.org</a>. 2011 2238 </p> 2012 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1>2013 <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>2014 </p>2015 <div class="print2col">2016 <ul class="ind">2017 <li class="indline0"><a id="rfc.index.A" href="#rfc.index.A"><b>A</b></a><ul class="ind">2018 <li class="indline1">age <a class="iref" href="#rfc.iref.a.1">1.2</a></li>2019 <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>2020 </ul>2021 </li>2022 <li class="indline0"><a id="rfc.index.C" href="#rfc.index.C"><b>C</b></a><ul class="ind">2023 <li class="indline1">cache <a class="iref" href="#rfc.iref.c.1">1.1</a></li>2024 <li class="indline1">Cache Directives 2025 <ul class="ind">2026 <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>2027 <li class="indline1">max-stale <a class="iref" href="#rfc.iref.c.11"><b>16.2.3</b></a></li>2028 <li class="indline1">min-fresh <a class="iref" href="#rfc.iref.c.10"><b>16.2.3</b></a></li>2029 <li class="indline1">must-revalidate <a class="iref" href="#rfc.iref.c.14"><b>16.2.4</b></a></li>2030 <li class="indline1">no-cache <a class="iref" href="#rfc.iref.c.6"><b>16.2.1</b></a></li>2031 <li class="indline1">no-store <a class="iref" href="#rfc.iref.c.7"><b>16.2.2</b></a></li>2032 <li class="indline1">no-transform <a class="iref" href="#rfc.iref.c.16"><b>16.2.5</b></a></li>2033 <li class="indline1">only-if-cached <a class="iref" href="#rfc.iref.c.13"><b>16.2.4</b></a></li>2034 <li class="indline1">private <a class="iref" href="#rfc.iref.c.5"><b>16.2.1</b></a></li>2035 <li class="indline1">proxy-revalidate <a class="iref" href="#rfc.iref.c.15"><b>16.2.4</b></a></li>2036 <li class="indline1">public <a class="iref" href="#rfc.iref.c.4"><b>16.2.1</b></a></li>2037 <li class="indline1">s-maxage <a class="iref" href="#rfc.iref.c.8"><b>16.2.3</b></a></li>2038 </ul>2039 </li>2040 <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>2041 <li class="indline1">cacheable <a class="iref" href="#rfc.iref.c.2">1.2</a></li>2042 </ul>2043 </li>2044 <li class="indline0"><a id="rfc.index.E" href="#rfc.index.E"><b>E</b></a><ul class="ind">2045 <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>2046 <li class="indline1">explicit expiration time <a class="iref" href="#rfc.iref.e.1">1.2</a></li>2047 </ul>2048 </li>2049 <li class="indline0"><a id="rfc.index.F" href="#rfc.index.F"><b>F</b></a><ul class="ind">2050 <li class="indline1">first-hand <a class="iref" href="#rfc.iref.f.1">1.2</a></li>2051 <li class="indline1">fresh <a class="iref" href="#rfc.iref.f.3">1.2</a></li>2052 <li class="indline1">freshness lifetime <a class="iref" href="#rfc.iref.f.2">1.2</a></li>2053 </ul>2054 </li>2055 <li class="indline0"><a id="rfc.index.G" href="#rfc.index.G"><b>G</b></a><ul class="ind">2056 <li class="indline1"><tt>Grammar</tt> 2057 <ul class="ind">2058 <li class="indline1"><tt>Age</tt> <a class="iref" href="#rfc.iref.g.1"><b>16.1</b></a></li>2059 <li class="indline1"><tt>Age-v</tt> <a class="iref" href="#rfc.iref.g.2"><b>16.1</b></a></li>2060 <li class="indline1"><tt>Cache-Control</tt> <a class="iref" href="#rfc.iref.g.4"><b>16.2</b></a></li>2061 <li class="indline1"><tt>Cache-Control-v</tt> <a class="iref" href="#rfc.iref.g.5"><b>16.2</b></a></li>2062 <li class="indline1"><tt>cache-directive</tt> <a class="iref" href="#rfc.iref.g.6"><b>16.2</b></a></li>2063 <li class="indline1"><tt>cache-extension</tt> <a class="iref" href="#rfc.iref.g.9"><b>16.2</b></a></li>2064 <li class="indline1"><tt>cache-request-directive</tt> <a class="iref" href="#rfc.iref.g.7"><b>16.2</b></a></li>2065 <li class="indline1"><tt>cache-response-directive</tt> <a class="iref" href="#rfc.iref.g.8"><b>16.2</b></a></li>2066 <li class="indline1"><tt>delta-seconds</tt> <a class="iref" href="#rfc.iref.g.3"><b>16.1</b></a></li>2067 <li class="indline1"><tt>Expires</tt> <a class="iref" href="#rfc.iref.g.10"><b>16.3</b></a></li>2068 <li class="indline1"><tt>Expires-v</tt> <a class="iref" href="#rfc.iref.g.11"><b>16.3</b></a></li>2069 <li class="indline1"><tt>extension-pragma</tt> <a class="iref" href="#rfc.iref.g.15"><b>16.4</b></a></li>2070 <li class="indline1"><tt>Pragma</tt> <a class="iref" href="#rfc.iref.g.12"><b>16.4</b></a></li>2071 <li class="indline1"><tt>pragma-directive</tt> <a class="iref" href="#rfc.iref.g.14"><b>16.4</b></a></li>2072 <li class="indline1"><tt>Pragma-v</tt> <a class="iref" href="#rfc.iref.g.13"><b>16.4</b></a></li>2073 <li class="indline1"><tt>Vary</tt> <a class="iref" href="#rfc.iref.g.16"><b>16.5</b></a></li>2074 <li class="indline1"><tt>Vary-v</tt> <a class="iref" href="#rfc.iref.g.17"><b>16.5</b></a></li>2075 <li class="indline1"><tt>warn-agent</tt> <a class="iref" href="#rfc.iref.g.22"><b>16.6</b></a></li>2076 <li class="indline1"><tt>warn-code</tt> <a class="iref" href="#rfc.iref.g.21"><b>16.6</b></a></li>2077 <li class="indline1"><tt>warn-date</tt> <a class="iref" href="#rfc.iref.g.24"><b>16.6</b></a></li>2078 <li class="indline1"><tt>warn-text</tt> <a class="iref" href="#rfc.iref.g.23"><b>16.6</b></a></li>2079 <li class="indline1"><tt>Warning</tt> <a class="iref" href="#rfc.iref.g.18"><b>16.6</b></a></li>2080 <li class="indline1"><tt>Warning-v</tt> <a class="iref" href="#rfc.iref.g.19"><b>16.6</b></a></li>2081 <li class="indline1"><tt>warning-value</tt> <a class="iref" href="#rfc.iref.g.20"><b>16.6</b></a></li>2082 </ul>2083 </li>2084 </ul>2085 </li>2086 <li class="indline0"><a id="rfc.index.H" href="#rfc.index.H"><b>H</b></a><ul class="ind">2087 <li class="indline1">Headers 2088 <ul class="ind">2089 <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>2090 <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>2091 <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>2092 <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>2093 <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>2094 <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>2095 </ul>2096 </li>2097 <li class="indline1">heuristic expiration time <a class="iref" href="#rfc.iref.h.1">1.2</a></li>2098 </ul>2099 </li>2100 <li class="indline0"><a id="rfc.index.I" href="#rfc.index.I"><b>I</b></a><ul class="ind">2101 <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>2102 </ul>2103 </li>2104 <li class="indline0"><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul class="ind">2105 <li class="indline1">max-age 2106 <ul class="ind">2107 <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>2108 </ul>2109 </li>2110 <li class="indline1">max-stale 2111 <ul class="ind">2112 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.3"><b>16.2.3</b></a></li>2113 </ul>2114 </li>2115 <li class="indline1">min-fresh 2116 <ul class="ind">2117 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.2"><b>16.2.3</b></a></li>2118 </ul>2119 </li>2120 <li class="indline1">must-revalidate 2121 <ul class="ind">2122 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.m.5"><b>16.2.4</b></a></li>2123 </ul>2124 </li>2125 </ul>2126 </li>2127 <li class="indline0"><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul class="ind">2128 <li class="indline1">no-cache 2129 <ul class="ind">2130 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.1"><b>16.2.1</b></a></li>2131 </ul>2132 </li>2133 <li class="indline1">no-store 2134 <ul class="ind">2135 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.2"><b>16.2.2</b></a></li>2136 </ul>2137 </li>2138 <li class="indline1">no-transform 2139 <ul class="ind">2140 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.n.3"><b>16.2.5</b></a></li>2141 </ul>2142 </li>2143 </ul>2144 </li>2145 <li class="indline0"><a id="rfc.index.O" href="#rfc.index.O"><b>O</b></a><ul class="ind">2146 <li class="indline1">only-if-cached 2147 <ul class="ind">2148 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.o.1"><b>16.2.4</b></a></li>2149 </ul>2150 </li>2151 </ul>2152 </li>2153 <li class="indline0"><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul class="ind">2154 <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">2</a>, <a class="iref" href="#rfc.xref.Part1.14">4.3</a>, <a class="iref" href="#rfc.xref.Part1.15">7.1</a>, <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">7.2</a>, <a class="iref" href="#rfc.xref.Part1.18">8</a>, <a class="iref" href="#rfc.xref.Part1.19">16.3</a>, <a class="iref" href="#Part1"><b>20.1</b></a>, <a class="iref" href="#rfc.xref.Part1.20">A.1</a><ul class="ind">2155 <li class="indline1"><em>Section 2.1</em> <a class="iref" href="#rfc.xref.Part1.1">2</a></li>2156 <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>, <a class="iref" href="#rfc.xref.Part1.8">2</a></li>2157 <li class="indline1"><em>Section 3.2</em> <a class="iref" href="#rfc.xref.Part1.11">2</a>, <a class="iref" href="#rfc.xref.Part1.13">2</a></li>2158 <li class="indline1"><em>Section 3.3.1</em> <a class="iref" href="#rfc.xref.Part1.10">2</a>, <a class="iref" href="#rfc.xref.Part1.19">16.3</a></li>2159 <li class="indline1"><em>Section 4.2</em> <a class="iref" href="#rfc.xref.Part1.9">2</a>, <a class="iref" href="#rfc.xref.Part1.18">8</a></li>2160 <li class="indline1"><em>Section 4.4</em> <a class="iref" href="#rfc.xref.Part1.16">7.2</a>, <a class="iref" href="#rfc.xref.Part1.17">7.2</a></li>2161 <li class="indline1"><em>Section 8.1</em> <a class="iref" href="#rfc.xref.Part1.15">7.1</a></li>2162 <li class="indline1"><em>Section 8.3</em> <a class="iref" href="#rfc.xref.Part1.14">4.3</a></li>2163 <li class="indline1"><em>Section 8.9</em> <a class="iref" href="#rfc.xref.Part1.12">2</a></li>2164 </ul>2165 </li>2166 <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">2167 <li class="indline1"><em>Section 8.1.1</em> <a class="iref" href="#rfc.xref.Part2.1">11</a></li>2168 </ul>2169 </li>2170 <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">2171 <li class="indline1"><em>Section 4.2.2</em> <a class="iref" href="#rfc.xref.Part3.1">7.2</a></li>2172 <li class="indline1"><em>Section 5.1</em> <a class="iref" href="#rfc.xref.Part3.2">8</a></li>2173 </ul>2174 </li>2175 <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>2176 <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">2177 <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>2178 </ul>2179 </li>2180 <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">2181 <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>2182 </ul>2183 </li>2184 <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>2185 <li class="indline1">private 2186 <ul class="ind">2187 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.2"><b>16.2.1</b></a></li>2188 </ul>2189 </li>2190 <li class="indline1">proxy-revalidate 2191 <ul class="ind">2192 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.3"><b>16.2.4</b></a></li>2193 </ul>2194 </li>2195 <li class="indline1">public 2196 <ul class="ind">2197 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.p.1"><b>16.2.1</b></a></li>2198 </ul>2199 </li>2200 </ul>2201 </li>2202 <li class="indline0"><a id="rfc.index.R" href="#rfc.index.R"><b>R</b></a><ul class="ind">2203 <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>2204 <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>2205 <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>2206 <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>2207 <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>2208 </ul>2209 </li>2210 <li class="indline0"><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul class="ind">2211 <li class="indline1">s-maxage 2212 <ul class="ind">2213 <li class="indline1">Cache Directive <a class="iref" href="#rfc.iref.s.3"><b>16.2.3</b></a></li>2214 </ul>2215 </li>2216 <li class="indline1">semantically transparent <a class="iref" href="#rfc.iref.s.1">1.1</a></li>2217 <li class="indline1">stale <a class="iref" href="#rfc.iref.s.2">1.2</a></li>2218 </ul>2219 </li>2220 <li class="indline0"><a id="rfc.index.V" href="#rfc.index.V"><b>V</b></a><ul class="ind">2221 <li class="indline1">validator <a class="iref" href="#rfc.iref.v.1">1.2</a></li>2222 <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>2223 </ul>2224 </li>2225 <li class="indline0"><a id="rfc.index.W" href="#rfc.index.W"><b>W</b></a><ul class="ind">2226 <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>2227 </ul>2228 </li>2229 </ul>2230 </div>2231 2239 </body> 2232 2240 </html>
Note: See TracChangeset
for help on using the changeset viewer.