> For the complete documentation index, see [llms.txt](https://clients.medianova.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://clients.medianova.com/products/performance-cdn/static-content-delivery/advanced-configuration/caching/query-string-caching.md).

# Query String Caching

Control how query strings affect CDN cache behavior for dynamic or parameterized URLs.

**Query String Caching** determines whether requests with different query strings create separate cached objects or map to the same cached object. You can also exclude specific parameters from the cache key or build the cache key using only selected parameters.

You can manage Query String Caching in the [Medianova Control Panel](https://cloud.medianova.com) or via the [API](https://clients.medianova.com/api-documentation/performance-cdn/caching#put-api-v1-cdn-organization_uuid-resource-resource_uuid-2).

{% hint style="warning" %}
Choose the cache-key behavior according to how your application uses query parameters. Ignoring parameters that change the response content can cause different requests to use the same cached object.
{% endhint %}

## Query String Caching Modes

Select one of the following modes:

<table><thead><tr><th width="158.4000244140625">Mode</th><th>Behavior</th></tr></thead><tbody><tr><td><strong>On</strong></td><td>Each unique query string combination creates a separate cached variant.</td></tr><tr><td><strong>Off</strong></td><td>Query strings are excluded from the cache key. URL variations with different query strings map to the same cached object.</td></tr><tr><td><strong>Request URI</strong></td><td>Uses the full request URI, including query parameters, as the cache key.</td></tr></tbody></table>

## Configure Query String Caching

{% stepper %}
{% step %}

### Open Query String Caching

Open your CDN Resource and select **Caching**.

<figure><img src="https://542970813-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtK7oIwmhUHdEJcaH4Hx8%2Fuploads%2FLcpeRdpBR2julTE65TBc%2Fimage.png?alt=media&amp;token=c6217a99-42d1-420c-b0e6-f39a63862fa0" alt=""><figcaption></figcaption></figure>

Locate **Query String Caching**.
{% endstep %}

{% step %}

### Select the Caching Mode

Select **On**, **Off**, or **Request URI** according to the required cache-key behavior.
{% endstep %}

{% step %}

### Configure Parameter Filtering

If required, use one of the additional query string controls:

* **Ignore Specific Query Strings** – Excludes selected query parameters from the cache key. These parameters do not create separate cached variants.
* **Cache Specific Query Strings Only** – Builds the cache key using only selected query parameters and ignores all other parameters.

{% hint style="info" %}
Use parameter filtering for query parameters that should not independently identify cached content. For example, non-content parameters such as tracking parameters can be excluded when they do not affect the response returned by the origin.
{% endhint %}
{% endstep %}

{% step %}

### Save the Configuration

Select **Save** in the pending changes bar.

Review the pending changes and confirm the update to apply the configuration to the CDN Resource.
{% endstep %}
{% endstepper %}

## Cache Key Behavior

Query String Caching directly affects how many cached variants can be created for the same URL.

With **On**, different query string combinations are cached independently. This preserves parameter-specific responses but can increase the number of cached objects.

With **Off**, query parameters do not differentiate cached objects. Requests for the same URL path therefore use the same cache entry regardless of their query strings.

With **Request URI**, the complete request URI, including query parameters, is used when constructing the cache key.

The additional filtering options provide more granular control:

* **Ignore Specific Query Strings** removes selected parameters from cache-key evaluation.
* **Cache Specific Query Strings Only** includes only selected parameters in cache-key evaluation and ignores the remaining parameters.

{% hint style="info" %}
Caching every query string combination can reduce cache efficiency when URLs contain parameters that do not change the response. Excluding non-essential parameters can reduce unnecessary cache variants.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://clients.medianova.com/products/performance-cdn/static-content-delivery/advanced-configuration/caching/query-string-caching.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
