Request Caching
We rely on caching to reduce the burden on both our bandwidth and upstream servers. Depending on the service or client request, we may retrieve content from our managed cache rather than performing a live request to a server. In most cases, this should be unnoticeable, but upstream server misconfigurations or modifying previously-published resources tend to cause the most issues.
Platform Tiers
In general, we segment traffic based on the following tiers.
Cache Disabled
A request will always be sent to the upstream server.
Standard Cache
Follows conventional caching server behaviors described by RFC 9111.
Caching directives from downstream requests which affect cache selection may not be respected.
Managed Browser Cache
Publisher Hints
The standard HTTP caching conventions play an important part as traffic passes through our network.
When serving content and files from servers, be sure to include the following response headers, where appropriate: Cache-Control, ETag, Last-Modified, and Vary.
When we find a stale cache entry, we may perform revalidation requests. Where appropriate, be sure to respond with 304 Not Modified responses based on If-Modified-Since and If-None-Match request headers.
Debugger Hints
Responses delivered from our managed cache will generally include some additional metadata that can be used for debugging. Client and runtime implementations must not rely on the presence of this information.
Ageindicates the number of seconds the response has been cached. This may include additional time if the content was cached be other upstream intermediaries, such as CDNs.Namedgraph-Cacheindicates an applied caching tier, cache status, and correlation identifier.
Most services provide artifacts, such as the following, which include this information to aid in debugging.
- Web Archive (WARC) will include response headers provided by any upstream servers, including caching servers.