| < draft-ietf-httpbis-cache-header-01.txt | draft-ietf-httpbis-cache-header-02.txt > | |||
|---|---|---|---|---|
| HTTP M. Nottingham | HTTP M. Nottingham | |||
| Internet-Draft Fastly | Internet-Draft Fastly | |||
| Intended status: Standards Track November 2, 2019 | Intended status: Standards Track November 4, 2019 | |||
| Expires: May 5, 2020 | Expires: May 7, 2020 | |||
| The Cache-Status HTTP Response Header | The Cache-Status HTTP Response Header | |||
| draft-ietf-httpbis-cache-header-01 | draft-ietf-httpbis-cache-header-02 | |||
| Abstract | Abstract | |||
| To aid debugging, HTTP caches often append headers to a response | To aid debugging, HTTP caches often append headers to a response | |||
| detailing how they handled the request. This specification codifies | detailing how they handled the request. This specification codifies | |||
| that practice and updates it for HTTP's current caching model. | that practice and updates it for HTTP's current caching model. | |||
| Note to Readers | Note to Readers | |||
| _RFC EDITOR: please remove this section before publication_ | _RFC EDITOR: please remove this section before publication_ | |||
| skipping to change at page 1, line 44 ¶ | skipping to change at page 1, line 44 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| 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." | |||
| This Internet-Draft will expire on May 5, 2020. | This Internet-Draft will expire on May 7, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 27 ¶ | skipping to change at page 2, line 27 ¶ | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | |||
| 2. The Cache-Status HTTP Response Header . . . . . . . . . . . . 3 | 2. The Cache-Status HTTP Response Header . . . . . . . . . . . . 3 | |||
| 2.1. The fwd parameter . . . . . . . . . . . . . . . . . . . . 4 | 2.1. The fwd parameter . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. The fwd-res parameter . . . . . . . . . . . . . . . . . . 4 | 2.2. The fwd-res parameter . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. The fwd-stored parameter . . . . . . . . . . . . . . . . 4 | 2.3. The fwd-stored parameter . . . . . . . . . . . . . . . . 5 | |||
| 2.4. The res-fresh parameter . . . . . . . . . . . . . . . . . 5 | 2.4. The res-fresh parameter . . . . . . . . . . . . . . . . . 5 | |||
| 2.5. The cache-fresh parameter . . . . . . . . . . . . . . . . 5 | 2.5. The cache-fresh parameter . . . . . . . . . . . . . . . . 5 | |||
| 2.6. The collapse-hit parameter . . . . . . . . . . . . . . . 5 | 2.6. The collapse-hit parameter . . . . . . . . . . . . . . . 5 | |||
| 2.7. The collapse-wait parameter . . . . . . . . . . . . . . . 5 | 2.7. The collapse-wait parameter . . . . . . . . . . . . . . . 5 | |||
| 2.8. The key parameter . . . . . . . . . . . . . . . . . . . . 5 | 2.8. The key parameter . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 5.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 5.2. Informative References . . . . . . . . . . . . . . . . . 7 | 5.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
| 5.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 5.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 1. Introduction | 1. Introduction | |||
| To aid debugging, HTTP caches often append headers to a response | To aid debugging, HTTP caches often append headers to a response | |||
| detailing how they handled the request. | detailing how they handled the request. | |||
| Unfortunately, the semantics of these headers are often unclear, and | Unfortunately, the semantics of these headers are often unclear, and | |||
| both the semantics and syntax used vary greatly between | both the semantics and syntax used vary greatly between | |||
| skipping to change at page 4, line 19 ¶ | skipping to change at page 4, line 19 ¶ | |||
| cache-fresh = sh-integer | cache-fresh = sh-integer | |||
| collapse-hit = sh-boolean | collapse-hit = sh-boolean | |||
| collapse-wait = sh-integer | collapse-wait = sh-integer | |||
| key = sh-string | key = sh-string | |||
| 2.1. The fwd parameter | 2.1. The fwd parameter | |||
| "fwd" indicates why the request went forward. If it is not present, | "fwd" indicates why the request went forward. If it is not present, | |||
| the value defaults to "none". | the value defaults to "none". | |||
| It can have one of the following values: * none - The request did not | It can have one of the following values: | |||
| go forward; i.e., it was a hit, and was served from the cache. * | ||||
| bypass - The cache was configured to not handle this request * uri- | o none - The request did not go forward; i.e., it was a hit, and was | |||
| miss - The cache did not contain any responses that matched the | served from the cache. | |||
| request URI * vary-miss - The cache contained a response that matched | ||||
| the request URI, but could not select a response based upon this | o bypass - The cache was configured to not handle this request | |||
| request's headers. * miss - The cache did not contain any responses | ||||
| that could be used to satisfy this request (to be used when an | o uri-miss - The cache did not contain any responses that matched | |||
| implementation cannot distinguish between uri-miss and vary-miss) * | the request URI | |||
| res-stale - The cache was able to select a response for the request, | ||||
| but it was stale * req-stale - The cache was able to select a fresh | o vary-miss - The cache contained a response that matched the | |||
| response for the request, but client request headers (e.g., Cache- | request URI, but could not select a response based upon this | |||
| Control request directives) did not allow its use | request's headers. | |||
| o miss - The cache did not contain any responses that could be used | ||||
| to satisfy this request (to be used when an implementation cannot | ||||
| distinguish between uri-miss and vary-miss) | ||||
| o res-stale - The cache was able to select a response for the | ||||
| request, but it was stale | ||||
| o req-stale - The cache was able to select a fresh response for the | ||||
| request, but client request headers (e.g., Cache-Control request | ||||
| directives) did not allow its use | ||||
| 2.2. The fwd-res parameter | 2.2. The fwd-res parameter | |||
| "fwd-res" indicates what the result of the forward request was. It | "fwd-res" indicates what the result of the forward request was. It | |||
| is only valid when fwd is "res-stale" or "req-stale", and defaults to | is only valid when fwd is "res-stale" or "req-stale", and defaults to | |||
| "full" if not present when fwd is one of those values. | "full" if not present when fwd is one of those values. | |||
| It can have one of the following values: * full - indicates that the | It can have one of the following values: | |||
| response was a complete response (any status code except 304 Not | ||||
| Modified and 206 Partial Response) * partial - indicates that the | o full - indicates that the response was a complete response (any | |||
| response was a 206 Partial Response * notmod - indicates that the | status code except 304 Not Modified and 206 Partial Response) | |||
| response was a 304 Not Modified | ||||
| o partial - indicates that the response was a 206 Partial Response | ||||
| o notmod - indicates that the response was a 304 Not Modified | ||||
| 2.3. The fwd-stored parameter | 2.3. The fwd-stored parameter | |||
| "fwd-stored" indicates whether the cache stored the response; a true | "fwd-stored" indicates whether the cache stored the response; a true | |||
| value indicates that it did. Only valid when fwd is not "none". | value indicates that it did. Only valid when fwd is not "none". | |||
| 2.4. The res-fresh parameter | 2.4. The res-fresh parameter | |||
| "res-fresh" indicates the response's remaining freshness lifetime (as | "res-fresh" indicates the response's remaining freshness lifetime (as | |||
| per [I-D.ietf-httpbis-cache], Section 4.2.1), as an integer number of | per [I-D.ietf-httpbis-cache], Section 4.2.1), as an integer number of | |||
| End of changes. 8 change blocks. | ||||
| 27 lines changed or deleted | 41 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||