API
The Gcore Customer Portal is being updated. Screenshots may not show the current version.
CDN
CDN
BillingCDN resources overviewOrigin groupPurgePrefetchReports
API
Chosen image
Home/CDN/CDN resource options/Cache/Modify cache key

Modify cache key

A cache key is a unique identifier for each object stored in the cache. It's generated based on specific request attributes like URL, query parameters, headers, or cookies.

Web servers and proxies like Nginx combine these attributes in cache keys to ensure that the correct version of the content is served to users. Properly configured cache keys also improve your website's performance as they prevent unnecessary server load and speed up content delivery.

If you want to modify your cache key via API, refer to our API documentation.

Update cache key in CDN resource settings

You can modify the structure of your cache key by adjusting variables that capture essential request information, such as URI or the value of the Host header.

Consider that enabling and updating the Cache key modification feature can invalidate your current cache and affect the cache hit ratio. Furthermore, the Purge by pattern functionality won’t work.

To modify the cache key:

1. In the Gcore Customer Portal, navigate to CDN. You’ll be directed to the CDN resources page.

2. Find the resource where you want to modify the cache key and click the CNAME to open its settings.

CDN resource

3. In the Cache section, click Cache key modification.

4. Turn on the Enable cache key modification toggle and add the relevant supported variables, which are listed in the following section.

Cache key modification settings

5. Click Save changes to apply the updates.

You’ve successfully modified the cache key for your resource.

Supported variables

You can use the following variable to modify your resource’s cache key:

  • $request_uri: The full original request URI. If used with the rewrite feature in conjunction with this option, this variable retains the value of the original URI, not the rewritten one.
  • $scheme: The protocol used in the request.
  • $uri: The current normalized URI in the request. The value of this variable may change during request processing. For example, it’ll change during internal redirects or when using index files.

Best practices and considerations

When configuring a cache key, take into account the following aspects to ensure optimal cache behavior:

  • Using both $uri and $request_uri cache keys simultaneously will result in the cache following the $request_uri key—query strings won't be ignored because $request_uri includes the query string.

  • The $scheme cache key does not work correctly when the Redirect HTTP to HTTPS option is enabled. All requests will be redirected to HTTPS, with no cache under the $scheme key.

  • Using the $uri cache key overrides the Ignore query string option.

  • Cache keys restricted or added by administrators can’t be modified by the client. You can only select from the available options or contact support to request changes to such keys.

  • When you use modified cache keys, prefetch may not cover all possible cache cases. For instance, if your cache key includes both the $request_method and $uri, prefetching will result in warm-only HEAD requests. GET requests won't be preloaded into the cache.

Was this article helpful?

Not a Gcore user yet?

Learn more about our next-gen CDN

Go to the product page