| draft-ietf-httpbis-p6-cache-03.txt | draft-ietf-httpbis-p6-cache-04.txt | |||
|---|---|---|---|---|
| Network Working Group R. Fielding, Ed. | Network Working Group R. Fielding, Ed. | |||
| Internet-Draft Day Software | Internet-Draft Day Software | |||
| Obsoletes: 2616 (if approved) J. Gettys | Obsoletes: 2616 (if approved) J. Gettys | |||
| Intended status: Standards Track One Laptop per Child | Intended status: Standards Track One Laptop per Child | |||
| Expires: December 19, 2008 J. Mogul | Expires: March 2, 2009 J. Mogul | |||
| HP | HP | |||
| H. Frystyk | H. Frystyk | |||
| Microsoft | Microsoft | |||
| L. Masinter | L. Masinter | |||
| Adobe Systems | Adobe Systems | |||
| P. Leach | P. Leach | |||
| Microsoft | Microsoft | |||
| T. Berners-Lee | T. Berners-Lee | |||
| W3C/MIT | W3C/MIT | |||
| Y. Lafon, Ed. | Y. Lafon, Ed. | |||
| W3C | W3C | |||
| J. Reschke, Ed. | J. Reschke, Ed. | |||
| greenbytes | greenbytes | |||
| June 17, 2008 | August 29, 2008 | |||
| HTTP/1.1, part 6: Caching | HTTP/1.1, part 6: Caching | |||
| draft-ietf-httpbis-p6-cache-03 | draft-ietf-httpbis-p6-cache-04 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 49 | skipping to change at page 1, line 49 | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on December 19, 2008. | This Internet-Draft will expire on March 2, 2009. | |||
| Abstract | Abstract | |||
| The Hypertext Transfer Protocol (HTTP) is an application-level | The Hypertext Transfer Protocol (HTTP) is an application-level | |||
| protocol for distributed, collaborative, hypermedia information | protocol for distributed, collaborative, hypermedia information | |||
| systems. HTTP has been in use by the World Wide Web global | systems. HTTP has been in use by the World Wide Web global | |||
| information initiative since 1990. This document is Part 6 of the | information initiative since 1990. This document is Part 6 of the | |||
| seven-part specification that defines the protocol referred to as | seven-part specification that defines the protocol referred to as | |||
| "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 6 defines | "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 6 defines | |||
| requirements on HTTP caches and the associated header fields that | requirements on HTTP caches and the associated header fields that | |||
| skipping to change at page 4, line 20 | skipping to change at page 4, line 20 | |||
| 20.2. Informative References . . . . . . . . . . . . . . . . . . 44 | 20.2. Informative References . . . . . . . . . . . . . . . . . . 44 | |||
| Appendix A. Compatibility with Previous Versions . . . . . . . . 44 | Appendix A. Compatibility with Previous Versions . . . . . . . . 44 | |||
| A.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 44 | A.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 44 | |||
| A.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 45 | A.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 45 | |||
| Appendix B. Change Log (to be removed by RFC Editor before | Appendix B. Change Log (to be removed by RFC Editor before | |||
| publication) . . . . . . . . . . . . . . . . . . . . 45 | publication) . . . . . . . . . . . . . . . . . . . . 45 | |||
| B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 45 | B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| B.2. Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . 45 | B.2. Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . 45 | |||
| B.3. Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . 46 | B.3. Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . 46 | |||
| B.4. Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . 46 | B.4. Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . 46 | |||
| B.5. Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . 46 | ||||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 49 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 49 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 52 | Intellectual Property and Copyright Statements . . . . . . . . . . 52 | |||
| 1. Introduction | 1. Introduction | |||
| HTTP is typically used for distributed information systems, where | HTTP is typically used for distributed information systems, where | |||
| performance can be improved by the use of response caches, and | performance can be improved by the use of response caches, and | |||
| includes a number of elements intended to make caching work as well | includes a number of elements intended to make caching work as well | |||
| as possible. Because these elements interact with each other, it is | as possible. Because these elements interact with each other, it is | |||
| skipping to change at page 38, line 42 | skipping to change at page 38, line 42 | |||
| HTTP/1.1 caches SHOULD treat "Pragma: no-cache" as if the client had | HTTP/1.1 caches SHOULD treat "Pragma: no-cache" as if the client had | |||
| sent "Cache-Control: no-cache". No new Pragma directives will be | sent "Cache-Control: no-cache". No new Pragma directives will be | |||
| defined in HTTP. | defined in HTTP. | |||
| Note: because the meaning of "Pragma: no-cache" as a response- | Note: because the meaning of "Pragma: no-cache" as a response- | |||
| header field is not actually specified, it does not provide a | header field is not actually specified, it does not provide a | |||
| reliable replacement for "Cache-Control: no-cache" in a response. | reliable replacement for "Cache-Control: no-cache" in a response. | |||
| 16.5. Vary | 16.5. Vary | |||
| The Vary field value indicates the set of request-header fields that | The Vary response-header field's value indicates the set of request- | |||
| fully determines, while the response is fresh, whether a cache is | header fields that fully determines, while the response is fresh, | |||
| permitted to use the response to reply to a subsequent request | whether a cache is permitted to use the response to reply to a | |||
| without revalidation. For uncacheable or stale responses, the Vary | subsequent request without revalidation. For uncacheable or stale | |||
| field value advises the user agent about the criteria that were used | responses, the Vary field value advises the user agent about the | |||
| to select the representation. A Vary field value of "*" implies that | criteria that were used to select the representation. A Vary field | |||
| a cache cannot determine from the request headers of a subsequent | value of "*" implies that a cache cannot determine from the request | |||
| request whether this response is the appropriate representation. See | headers of a subsequent request whether this response is the | |||
| Section 8 for use of the Vary header field by caches. | appropriate representation. See Section 8 for use of the Vary header | |||
| field by caches. | ||||
| Vary = "Vary" ":" ( "*" | 1#field-name ) | Vary = "Vary" ":" ( "*" | 1#field-name ) | |||
| An HTTP/1.1 server SHOULD include a Vary header field with any | An HTTP/1.1 server SHOULD include a Vary header field with any | |||
| cacheable response that is subject to server-driven negotiation. | cacheable response that is subject to server-driven negotiation. | |||
| Doing so allows a cache to properly interpret future requests on that | Doing so allows a cache to properly interpret future requests on that | |||
| resource and informs the user agent about the presence of negotiation | resource and informs the user agent about the presence of negotiation | |||
| on that resource. A server MAY include a Vary header field with a | on that resource. A server MAY include a Vary header field with a | |||
| non-cacheable response that is subject to server-driven negotiation, | non-cacheable response that is subject to server-driven negotiation, | |||
| since this might provide the user agent with useful information about | since this might provide the user agent with useful information about | |||
| the dimensions over which the response varies at the time of the | the dimensions over which the response varies at the time of the | |||
| response. | response. | |||
| skipping to change at page 43, line 27 | skipping to change at page 43, line 27 | |||
| [ISO-8859-1] | [ISO-8859-1] | |||
| International Organization for Standardization, | International Organization for Standardization, | |||
| "Information technology -- 8-bit single-byte coded graphic | "Information technology -- 8-bit single-byte coded graphic | |||
| character sets -- Part 1: Latin alphabet No. 1", ISO/ | character sets -- Part 1: Latin alphabet No. 1", ISO/ | |||
| IEC 8859-1:1998, 1998. | IEC 8859-1:1998, 1998. | |||
| [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections, | and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections, | |||
| and Message Parsing", draft-ietf-httpbis-p1-messaging-03 | and Message Parsing", draft-ietf-httpbis-p1-messaging-04 | |||
| (work in progress), June 2008. | (work in progress), August 2008. | |||
| [Part2] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part2] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 2: Message | and J. Reschke, Ed., "HTTP/1.1, part 2: Message | |||
| Semantics", draft-ietf-httpbis-p2-semantics-03 (work in | Semantics", draft-ietf-httpbis-p2-semantics-04 (work in | |||
| progress), June 2008. | progress), August 2008. | |||
| [Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload | and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload | |||
| and Content Negotiation", draft-ietf-httpbis-p3-payload-03 | and Content Negotiation", draft-ietf-httpbis-p3-payload-04 | |||
| (work in progress), June 2008. | (work in progress), August 2008. | |||
| [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional | and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional | |||
| Requests", draft-ietf-httpbis-p4-conditional-03 (work in | Requests", draft-ietf-httpbis-p4-conditional-04 (work in | |||
| progress), June 2008. | progress), August 2008. | |||
| [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and | and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and | |||
| Partial Responses", draft-ietf-httpbis-p5-range-03 (work | Partial Responses", draft-ietf-httpbis-p5-range-04 (work | |||
| in progress), June 2008. | in progress), August 2008. | |||
| [Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | [Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., | |||
| Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication", | and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication", | |||
| draft-ietf-httpbis-p7-auth-03 (work in progress), | draft-ietf-httpbis-p7-auth-04 (work in progress), | |||
| June 2008. | August 2008. | |||
| [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) | [RFC2047] Moore, K., "MIME (Multipurpose Internet Mail Extensions) | |||
| Part Three: Message Header Extensions for Non-ASCII Text", | Part Three: Message Header Extensions for Non-ASCII Text", | |||
| RFC 2047, November 1996. | RFC 2047, November 1996. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| 20.2. Informative References | 20.2. Informative References | |||
| skipping to change at page 46, line 39 | skipping to change at page 46, line 39 | |||
| other parts of the specification. | other parts of the specification. | |||
| B.4. Since draft-ietf-httpbis-p6-cache-02 | B.4. Since draft-ietf-httpbis-p6-cache-02 | |||
| Ongoing work on IANA Message Header Registration | Ongoing work on IANA Message Header Registration | |||
| (<http://www3.tools.ietf.org/wg/httpbis/trac/ticket/40>): | (<http://www3.tools.ietf.org/wg/httpbis/trac/ticket/40>): | |||
| o Reference RFC 3984, and update header registrations for headers | o Reference RFC 3984, and update header registrations for headers | |||
| defined in this document. | defined in this document. | |||
| B.5. Since draft-ietf-httpbis-p6-cache-03 | ||||
| Closed issues: | ||||
| o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/106>: "Vary | ||||
| header classification" | ||||
| Index | Index | |||
| A | A | |||
| age 7 | age 7 | |||
| Age header 27 | Age header 27 | |||
| C | C | |||
| cache 5 | cache 5 | |||
| Cache Directives | Cache Directives | |||
| max-age 32-33 | max-age 32-33 | |||
| max-stale 32 | max-stale 32 | |||
| min-fresh 32 | min-fresh 32 | |||
| must-revalidate 34 | must-revalidate 34 | |||
| no-cache 29 | no-cache 29 | |||
| no-store 30 | no-store 30 | |||
| no-transform 35 | no-transform 35 | |||
| End of changes. 15 change blocks. | ||||
| 26 lines changed or deleted | 35 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||