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.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/