<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.12 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-httpbis-cache-header-01" category="std">

  <front>
    <title abbrev="Cache-Status Header">The Cache-Status HTTP Response Header</title>

    <author initials="M." surname="Nottingham" fullname="Mark Nottingham">
      <organization>Fastly</organization>
      <address>
        <email>mnot@mnot.net</email>
        <uri>https://www.mnot.net/</uri>
      </address>
    </author>

    <date year="2019"/>

    <area>Applications and Real-Time</area>
    <workgroup>HTTP</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>To aid debugging, HTTP caches often append headers to a response detailing how they handled the request. This specification codifies that practice and updates it for HTTP’s current caching model.</t>



    </abstract>


    <note title="Note to Readers">


<t><spanx style="emph">RFC EDITOR: please remove this section before publication</spanx></t>

<t>Discussion of this draft takes place on the HTTP working group mailing list
(ietf-http-wg@w3.org), which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/">https://lists.w3.org/Archives/Public/ietf-http-wg/</eref>.</t>

<t>Working Group information can be found at <eref target="https://httpwg.org/">https://httpwg.org/</eref>; source
code and issues list for this draft can be found at
<eref target="https://github.com/httpwg/http-extensions/labels/cache-header">https://github.com/httpwg/http-extensions/labels/cache-header</eref>.</t>


    </note>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>To aid debugging, HTTP caches often append headers to a response detailing how they handled the request.</t>

<t>Unfortunately, the semantics of these headers are often unclear, and both the semantics and syntax used vary greatly between implementations.</t>

<t>This specification defines a single, new HTTP response header field, “Cache-Status” for this purpose.</t>

<section anchor="notational-conventions" title="Notational Conventions">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”,
“RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as
shown here.</t>

<t>This document uses ABNF as defined in <xref target="RFC5234"/>, along with the “%s” extension for case sensitivity defined in <xref target="RFC7405"/>.</t>

</section>
</section>
<section anchor="the-cache-status-http-response-header" title="The Cache-Status HTTP Response Header">

<t>The Cache-Status HTTP response header indicates caches’ handling of the request corresponding to the response it occurs within.</t>

<t>Its value is a List <xref target="I-D.ietf-httpbis-header-structure"/>:</t>

<figure><artwork type="abnf"><![CDATA[
Cache-Status   = sh-list
]]></artwork></figure>

<t>Each member of the parameterised list represents a cache that has handled the request. The first member of the list represents the cache closest to the origin server, and the last member of the list represents the cache closest to the user agent (possibly including the user agent’s cache itself, if it chooses to append a value).</t>

<t>Caches determine when it is appropriate to add the Cache-Status header field to a response. Some might decide to add it to all responses, whereas others might only do so when specifically configured to, or when the request contains a header that activates a debugging mode.</t>

<t>When adding a value to the Cache-Status header field, caches SHOULD preserve the existing contents of the header, to allow debugging of the entire chain of caches handling the request.</t>

<t>The list members identify the cache that inserted the value, and MUST have a type of either sh-string or sh-token. Depending on the deployment, this might be a product or service name (e.g., ExampleCache or “Example CDN”), a hostname (“cache-3.example.com”), and IP address, or a generated string.</t>

<t>Each member of the list can also have a number of parameters that describe that cache’s handling of the request. While all of these parameters are OPTIONAL, caches are encouraged to provide as much information as possible.</t>

<figure><artwork type="abnf"><![CDATA[
fwd           = sh-token
fwd-res       = sh-token
fwd-stored    = sh-boolean
res-fresh     = sh-integer
cache-fresh   = sh-integer
collapse-hit  = sh-boolean
collapse-wait = sh-integer
key           = sh-string
]]></artwork></figure>

<section anchor="the-fwd-parameter" title="The fwd parameter">

<t>“fwd” indicates why the request went forward. If it is not present, the value defaults to “none”.</t>

<t>It can have one of the following values:
* none - The request did not 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-miss - The cache did not contain any responses that matched the request URI
* vary-miss - The cache contained a response that matched the request URI, but could not select a response based upon this request’s headers.
* 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)
* 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 response for the request, but client request headers (e.g., Cache-Control request directives) did not allow its use</t>

</section>
<section anchor="the-fwd-res-parameter" title="The fwd-res parameter">

<t>“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 “full” if not present when fwd is one of those values.</t>

<t>It can have one of the following values:
* full - indicates that the response was a complete response (any status code except 304 Not Modified and 206 Partial Response)
* partial - indicates that the response was a 206 Partial Response
* notmod - indicates that the response was a 304 Not Modified</t>

</section>
<section anchor="the-fwd-stored-parameter" title="The fwd-stored parameter">

<t>“fwd-stored” indicates whether the cache stored the response; a true value indicates that it did. Only valid when fwd is not “none”.</t>

</section>
<section anchor="the-res-fresh-parameter" title="The res-fresh parameter">

<t>“res-fresh” indicates the response’s remaining freshness lifetime (as per
<xref target="I-D.ietf-httpbis-cache"/>, Section 4.2.1), as an integer number of seconds. This does not include freshness assigned by the cache (see “cache-fresh”). May be negative, to indicate staleness.</t>

</section>
<section anchor="the-cache-fresh-parameter" title="The cache-fresh parameter">

<t>“cache-fresh” indicates the response’s remaining freshness lifetime as calculated by the cache, as an integer number of seconds. This includes freshness assigned by the cache; e.g., through heuristics, local configuration, or other factors. May be negative, to indicate staleness.</t>

<t>If both cache-fresh and res-fresh appear as parameters on the same value, it implies that the cache freshness overrode the response freshness.</t>

</section>
<section anchor="the-collapse-hit-parameter" title="The collapse-hit parameter">

<t>“collapse-hit” indicates whether this request was collapsed together with one or more other forward requests; if true, the response was successfully reused; if not, a new request had to be made. If not present, the request was not collapsed with others.</t>

</section>
<section anchor="the-collapse-wait-parameter" title="The collapse-wait parameter">

<t>“collapse-wait” indicates the amount of time that the cache held the request while waiting to see if it could be successfully collapsed, as an integer number of milliseconds.</t>

</section>
<section anchor="the-key-parameter" title="The key parameter">

<t>“key” conveys a representation of the cache key used for the response. Note that this may be implementation-specific.</t>

</section>
</section>
<section anchor="examples" title="Examples">

<t>The most minimal cache hit:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache
]]></artwork></figure>

<t>… but a polite cache will give some more information, e.g.:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; res-fresh=376
]]></artwork></figure>

<t>A “negative” hit (i.e., the cache imposed its own freshness lifetime):</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; cache-fresh=415
]]></artwork></figure>

<t>A stale hit just has negative freshness:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; res-fresh=-412
]]></artwork></figure>

<t>Whereas a complete miss is:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; fwd=uri-miss
]]></artwork></figure>

<t>A miss that validated on the back-end server:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; fwd=res-stale; fwd-res=notmod
]]></artwork></figure>

<t>A miss that was collapsed with another request:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; fwd=uri-miss; collapse-hit=?1
]]></artwork></figure>

<t>A miss that the cache attempted to collapse, but couldn’t:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: ExampleCache; fwd=uri-miss;
              collapse-hit=?0; collapse-wait=240
]]></artwork></figure>

<t>Going through two layers of caching, both of which were hits, and the second collapsed with other requests:</t>

<figure><artwork type="example"><![CDATA[
Cache-Status: "CDN Company Here"; res-fresh=545,
              OriginCache; cache-fresh=1100; collapse-hit=?1
]]></artwork></figure>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>Information about a cache’s content can be used to infer the activity of those using it. Generally, access to sensitive information in a cache is limited to those who are authorised to access that information (using a variety of techniques), so this does not represent an attack vector in the general sense.</t>

<t>However, if the Cache-Status header is exposed to parties who are not authorised to obtain the response it occurs within, it could expose information about that data.</t>

<t>For example, if an attacker were able to obtain the Cache-Status header from a response containing sensitive information and access were limited to one person (or limited set of people), they could determine whether that information had been accessed before. This is similar to the information exposed by various timing attacks, but is arguably more reliable, since the cache is directly reporting its state.</t>

<t>Mitigations include use of encryption (e.g., TLS <xref target="RFC8446"/>)) to protect the response, and careful controls over access to response headers (as are present in the Web platform). When in doubt, the Cache-Status header field can be omitted.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference  anchor="RFC5234" target='https://www.rfc-editor.org/info/rfc5234'>
<front>
<title>Augmented BNF for Syntax Specifications: ABNF</title>
<author initials='D.' surname='Crocker' fullname='D. Crocker' role='editor'><organization /></author>
<author initials='P.' surname='Overell' fullname='P. Overell'><organization /></author>
<date year='2008' month='January' />
<abstract><t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='68'/>
<seriesInfo name='RFC' value='5234'/>
<seriesInfo name='DOI' value='10.17487/RFC5234'/>
</reference>



<reference  anchor="RFC7405" target='https://www.rfc-editor.org/info/rfc7405'>
<front>
<title>Case-Sensitive String Support in ABNF</title>
<author initials='P.' surname='Kyzivat' fullname='P. Kyzivat'><organization /></author>
<date year='2014' month='December' />
<abstract><t>This document extends the base definition of ABNF (Augmented Backus-Naur Form) to include a way to specify US-ASCII string literals that are matched in a case-sensitive manner.</t></abstract>
</front>
<seriesInfo name='RFC' value='7405'/>
<seriesInfo name='DOI' value='10.17487/RFC7405'/>
</reference>



<reference anchor="I-D.ietf-httpbis-header-structure">
<front>
<title>Structured Headers for HTTP</title>

<author initials='M' surname='Nottingham' fullname='Mark Nottingham'>
    <organization />
</author>

<author initials='P' surname='Kamp' fullname='Poul-Henning Kamp'>
    <organization />
</author>

<date month='August' day='25' year='2019' />

<abstract><t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header fields.  It is intended for use by specifications of new HTTP header fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-httpbis-header-structure-13' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-httpbis-header-structure-13.txt' />
</reference>



<reference anchor="I-D.ietf-httpbis-cache">
<front>
<title>HTTP Caching</title>

<author initials='R' surname='Fielding' fullname='Roy Fielding'>
    <organization />
</author>

<author initials='M' surname='Nottingham' fullname='Mark Nottingham'>
    <organization />
</author>

<author initials='J' surname='Reschke' fullname='Julian Reschke'>
    <organization />
</author>

<date month='July' day='8' year='2019' />

<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless application- level protocol for distributed, collaborative, hypertext information systems.  This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.  This document obsoletes RFC 7234.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-httpbis-cache-05' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-httpbis-cache-05.txt' />
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC8446" target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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
C+9LUj78IwAA

-->

</rfc>

