Cache Key Query Parameters & Download Delivery
This behavior controls whether the query string or portions of it are used to differentiate objects in cache.
This behavior is automatically included in the Default Rule for a property configuration for Download Delivery. Unlike other behaviors that are automatically included in this rule, it's not required. While we recommend you set it in the Default Rule, so that it will apply to all requests, you can remove it from this rule.
Before you begin
Before you work with this behavior and all caching-related behaviors, Akamai recommends that you read, Learn about caching in the Property Manager help. It'll help you better understand caching and how it works within the Akamai network.
Set up for Download Delivery
The default setting for this behavior is Exclude all parameters. This means that all requests for the same URL are served from a single cache entry regardless of the query stringin a request. For example, these two requests would be served from the same object in cache:
http://mymedia.com/directory/manifest?token=1234598765
http://mymedia.com/directory/manifest?token=9876512345
This setting tells Akamai to only consider the URL without the query string when looking in the cache. Using the examples above, that would be:
http://mymedia.com/directory/manifest
Confirm whether the Exclude all parameters setting is appropriate for your content. Pick the appropriate setting for your environment to have Akamai optimize delivery by incorporating use case-based provisioning.
NetStorage doesn't honor query strings
If you're using it as your origin server, this needs to be set to Exclude all parameters.
Other available options include:
Behavior setting | Description | Parameters | Exact Match |
---|---|---|---|
Include all parameters (preserve order form request) | All of the query string parameters in a request are included, and they're applied in the order they exist in the request. | N/A | N/A |
Include all parameters (reorder alphabetically) | All of the query string parameters in a request are included, but they're reordered alphabetically and then applied. | N/A | N/A |
Include only specified parameters... | Only specific query strings are included, and all others are ignored. | Enter the query string parameters you want *included in* the cache key. Matches are determined by prefix matching each query string. If the query parameter with its value (name=value& ) contains an item in this list (for example, name , name= , name=value , or name=value& ), then the parameter and value are *included*. It must also exactly match the case from the request URL, regardless of any other case-sensitivity settings. | Decide if you want requests to apply an Exact Match:
|
Exclude only specified parameters | Specific query strings are excluded, and all others are applied. | Enter the query string parameters you want *excluded from* the cache key. Matches are determined by prefix matching each query string. If the query parameter with its value (name=value& ) contains an item in this list (for example, name , name= , name=value , or name=value& ), then the parameter and value are *excluded*. It must also exactly match the case from the request URL, regardless of any other case-sensitivity settings. | Decide if you want requests to apply an Exact Match:
|
Be careful when changing the cache key
If you change the cache key globally or for too many objects on a property that is already active—that is, if you create a new version that has a different cache key for all content—you can create problems for your origin when you activate the new version on production. When you change the cache key, you invalidate cached content that's using the existing cache key. Akamai edge servers will request new objects from your origin at a level that can create severe spikes in bandwidth.
If you need to change the cache keys on an active configuration, you should limit the changes: send them out a few changes at a time over an expanded time frame.
Updated over 2 years ago