<?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.3.15 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?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 xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-cdn-control-header-00" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.4.0 -->
  <front>
    <title abbrev="CDN-Cache-Control">The CDN-Cache-Control HTTP Response Header Field</title>
    <seriesInfo name="Internet-Draft" value="draft-cdn-control-header-00"/>
    <author initials="S." surname="Ludin" fullname="Stephen Ludin">
      <organization>Akamai</organization>
      <address>
        <email>sludin@ludin.org</email>
      </address>
    </author>
    <author initials="M." surname="Nottingham" fullname="Mark Nottingham">
      <organization>Fastly</organization>
      <address>
        <postal>
          <street>made in</street>
          <city>Prahran</city>
          <region>VIC</region>
          <country>Australia</country>
        </postal>
        <email>mnot@mnot.net</email>
        <uri>https://www.mnot.net/</uri>
      </address>
    </author>
    <author initials="Y." surname="Wu" fullname="Yuchen Wu">
      <organization>Cloudflare</organization>
      <address>
        <email>me@yuchenwu.net</email>
      </address>
    </author>
    <date/>
    <area>General</area>
    <workgroup>HTTP</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This specification defines an HTTP header field that conveys HTTP cache directives to CDN caches.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <t><em>RFC EDITOR: please remove this section before publication</em></t>
      <t>The issues list for this draft can be found at <eref target="https://github.com/cdn-specs/control-header/issues">https://github.com/cdn-specs/control-header/issues</eref>.</t>
      <t>The most recent (often, unpublished) draft is at <eref target="https://cdn-specs.github.io/control-header/">https://cdn-specs.github.io/control-header/</eref>.</t>
      <t>Recent changes are listed at <eref target="https://github.com/cdn-specs/control-header/commits/main">https://github.com/cdn-specs/control-header/commits/main</eref>.</t>
      <t>See also the draft's current status in the IETF datatracker, at
<eref target="https://datatracker.ietf.org/doc/draft-cdn-control-header/">https://datatracker.ietf.org/doc/draft-cdn-control-header/</eref>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>Many HTTP origin servers use Content Delivery Networks (i.e., distributed HTTP gateways, usually implementing caches) to speed up distributing their content.</t>
      <t>While HTTP defines Cache-Control as a means of controlling cache behaviour for both private caches and shared caches, it is often desirable to give CDN caches separate instructions. To meet this need, this specification defines a separate header field that conveys HTTP cache directives to CDN caches only.</t>
      <section anchor="notational-conventions" numbered="true" toc="default">
        <name>Notational Conventions</name>
        <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" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as
shown here.</t>
      </section>
    </section>
    <section anchor="the-cdn-cache-control-response-header-field" numbered="true" toc="default">
      <name>The CDN-Cache-Control Response Header Field</name>
      <t>The CDN-Cache-Control response header field allows origin servers to control the behaviour of CDN caches interposed between them and clients, separately from other caches that might handle the response.</t>
      <t>It is a Dictionary Structured Header <xref target="I-D.ietf-httpbis-header-structure" format="default"/>, whose members can be any directive registered in the HTTP Cache Directive Registry <eref target="https://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml">https://www.iana.org/assignments/http-cache-directives/http-cache-directives.xhtml</eref>.</t>
      <t>When a valid CDN-Cache-Control header field is present in a response, CDN caches MUST ignore the Cache-Control and Expires response headers in that response. As such, CDN-Cache-Control is a wholly separate way to control the CDN cache. Note that this is on a response-by-response basis; if CDN-Cache-Control is not present, CDN caches MAY fall back to other control mechanisms as required by HTTP <xref target="I-D.ietf-httpbis-cache" format="default"/>.</t>
      <t>The semantics and precedence of cache directives in CDN-Cache-Control are the same as those in Cache-Control. In particular, no-store and no-cache make max-age inoperative.</t>
      <t>Caches that use CDN-Cache-Control MUST implement the semantics of the following directives:</t>
      <ul spacing="normal">
        <li>max-age</li>
        <li>must-revalidate</li>
        <li>no-store</li>
        <li>no-cache</li>
        <li>private</li>
      </ul>
      <t>CDN caches that use CDN-Cache-Control MAY forward this header so that downstream CDN caches can use it as well. However, doing so exposes its value to all downstream clients, which might be undesirable. As a result, CDN caches that process this header field MAY remove it (for example, when configured to do so because it is known not to be used downstream).</t>
      <t>A CDN cache that does not use CDN-Cache-Control MUST pass the CDN-Cache-Control header through.</t>
      <t>Private caches SHOULD ignore the CDN-Cache-Control header field.</t>
      <section anchor="examples" numbered="true" toc="default">
        <name>Examples</name>
        <t>For example, the following header fields would instruct a CDN cache to consider the response fresh for 600 seconds, other shared caches for 120 seconds and any remaining caches for 60 seconds:</t>
        <artwork type="http-message" name="" align="left" alt=""><![CDATA[
Cache-Control: max-age=60, s-maxage=120
CDN-Cache-Control: max-age=600
]]></artwork>
        <t>These header fields would instruct a CDN cache to consider the response fresh for 600 seconds, while all other caches would be prevented from storing it:</t>
        <artwork type="http-message" name="" align="left" alt=""><![CDATA[
Cache-Control: no-store
CDN-Cache-Control: max-age=600
]]></artwork>
        <t>Because CDN-Cache-Control is not present, this header field would prevent all caches from storing the response:</t>
        <artwork type="http-message" name="" align="left" alt=""><![CDATA[
Cache-Control: no-store
]]></artwork>
        <t>Whereas these would prevent all caches except for CDN caches from storing the response:</t>
        <artwork type="http-message" name="" align="left" alt=""><![CDATA[
Cache-Control: no-store
CDN-Cache-Control: none
]]></artwork>
        <t>(note that 'none' is not a registered cache directive; it is here to avoid sending a header field with an empty value, because such a header might not be preserved in all cases)</t>
      </section>
      <section anchor="parsing" numbered="true" toc="default">
        <name>Parsing</name>
        <t>CDN-Cache-Control is specified as a Structured Field <xref target="I-D.ietf-httpbis-header-structure" format="default"/>, and implementations are encouraged to use a parser for that format in the interests of robustness, interoperability and security.</t>
        <t>When an implementation parses CDN-Cache-Control as a Structured Field, each directive will be assigned a value. For example, max-age has an integer value; no-store's value is boolean true, and no-cache's value can either be boolean true or a list of field names. Implementations SHOULD NOT accept other values (e.g. coerce a max-age with a decimal value into an integer). Likewise, implementations SHOULD ignore parameters on directives, unless otherwise specified.</t>
        <t>However, implementers MAY initially reuse a Cache-Control parser for simplicity. If they do so, they SHOULD observe the following points, to aid in a smooth transition to a full Structured Field parser and prevent interoperability issues:</t>
        <ul spacing="normal">
          <li>If a directive is repeated in the field value (e.g., "max-age=30, max-age=60"), the last value 'wins' (60, in this case)</li>
          <li>Members of the directives can have parameters (e.g., "max-age=30;a=b;c=d"), which should be ignored unless specified.</li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The security considerations of HTTP caching <xref target="I-D.ietf-httpbis-cache" format="default"/> apply.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Normative References</name>
      <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="I-D.ietf-httpbis-header-structure" target="http://www.ietf.org/internet-drafts/draft-ietf-httpbis-header-structure-19.txt">
        <front>
          <title>Structured Field Values 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="June" day="3" year="2020"/>
          <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 and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers".  It is intended for use by specifications of new HTTP 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-19"/>
      </reference>
      <reference anchor="I-D.ietf-httpbis-cache" target="http://www.ietf.org/internet-drafts/draft-ietf-httpbis-cache-12.txt">
        <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="October" day="2" year="2020"/>
          <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-12"/>
      </reference>
    </references>
    <section anchor="frequently-asked-questions" numbered="true" toc="default">
      <name>Frequently Asked Questions</name>
      <section anchor="why-not-surrogate-control" numbered="true" toc="default">
        <name>Why not Surrogate-Control?</name>
        <t>The Surrogate-Control header field is used by a variety of cache implementations, but their interpretation of it is not consistent; some only support 'no-store', others support a few directives, and still more support a larger variety of implementation-specific directives. These implementations also differ in how they relate Surrogate-Control to Cache-Control and other mechanisms.</t>
        <t>Rather than attempting to align all of these different but well established behaviours (which would likely fail, because many existing deployments depend upon them) or defining a very small subset, a new header field seems more likely to provide clear interoperability without compromising functionality.</t>
      </section>
      <section anchor="why-not-mix-with-cache-control" numbered="true" toc="default">
        <name>Why not mix with Cache-Control?</name>
        <t>An alternative design would be to have CDN caches combine the directives found in Cache-Control and CDN-Cache-Control, considering their union as the directives that must be followed.</t>
        <t>While this would be slightly less verbose in some cases, it would make interoperability considerably more complex to achieve. Consider the case when there are syntax errors in the argument of a directive; e.g., 'max-age=n60'. Should that directive be ignored, or does it invalidate the entire header field value? If the directive is ignored in CDN-Cache-Control, should the cache fall back to a value in Cache-Control? And so on.</t>
        <t>Also, this approach would make it difficult to direct the CDN cache to store something while directing other caches to avoid storing it (because no-store overrides max-age).</t>
      </section>
      <section anchor="is-this-just-for-cdns" numbered="true" toc="default">
        <name>Is this just for CDNs?</name>
        <t>By default, yes. There is often a need to differentiate between CDNs and gateway caches deployed local to the origin server; CDN-Cache-Control allows that.</t>
        <t>In some cases, a site might create a CDN by deploying gateway caches and routing traffic to them; this is, after all, how a CDN works at a high level. To support this scenario, gateway caches MAY be configured to process the CDN-Cache-Control header field, but they MUST NOT default to supporting it.</t>
      </section>
      <section anchor="what-if-i-use-more-than-one-cdn" numbered="true" toc="default">
        <name>What if I use more than one CDN?</name>
        <t>Individual CDNs can choose to define their own control mechanisms that take precedence over this header field. It is RECOMMENDED that they use a header whose value has the same syntax and semantics, and use a field name in the pattern "CDN_NAME-CDN-Cache-Control"; for example, the Foo CDN might register "Foo-CDN-Cache-Control". When present on a response received by Foo CDN, that header field would override both CDN-Cache-Control and Cache-Control. As with CDN-Cache-Control, Foo CDN could decide whether or not to strip that header from responses before sending them.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
PVSJVhCtBa59wd7O+pQtk+R/ZUJ4oyYjAAA=

-->

</rfc>
