Validate Entity Tag (ETag)

This behavior enables edge servers to validate cached objects using entity tags (ETags). When origin content isn’t changed, a lightweight 304 Not Modified response is returned to the requesting client, which saves bandwidth and reduces latency compared to returning the full object.

How it works

When a request arrives at the edge with an If-None-Match header, the edge server compares it to the ETag value stored with the cached object. If the values match, the edge server returns a lightweight 304 Not Modified response with no body. If they differ, the edge server returns the object in full from the Akamai cache, or fetches a fresh copy from your origin. This revalidation occurs in addition to the default revalidation of Last-Modified and If-Modified-Since headers.

When this behavior is enabled, strong ETags are always supported. You can optionally choose to support weak ETags, which allows the edge to perform matching on W/-prefixed ETag values (for example, W/"1234"). When weak ETag support is disabled, and a weak ETag or weak If-None-Match value is encountered, the edge server returns a full 200 response rather than a 304. For details on strong vs. weak ETags, see RFC 9110: HTTP Semantics - 8.8.3: ETag.

Features and options

FieldWhat it does
EnableTurns on the Validate Entity Tag (ETag) behavior. Enables edge servers to perform conditional revalidation using If-None-Match and ETag headers.
Allow non-strict Strong ETagsWhether you want to allow matching on strong ETag values that are not enclosed in double quotes. While these values are technically malformed, they appear frequently in real-world origin responses. Enable this if your origin generates unquoted ETag values.
Support Weak ETagsWhether you want to allow matching on weak ETags prefixed with W/. Weak ETags indicate semantic equivalence rather than byte-for-byte identity. When disabled, requests with weak ETag values always receive a full 200 OK response from the edge server.

Weak ETag matches

The following table shows whether a match is identified based on the value of the Support Weak ETags option.

If-None-Match header valueCached object ETag valueSupport Weak ETags enabledSupport Weak ETags disabled
"abc""abc"MatchMatch
"abc"W/"abc"MatchNo match
W/"abc"W/"abc"MatchNo match
W/"abc""abc"MatchNo match