Avoid caching URLs with query paramters

Avatar

Avatar
Validate 10
Level 2
v1101
Level 2

Likes

4 likes

Total Posts

150 posts

Correct reply

0 solutions
Top badges earned
Validate 10
Validate 1
Ignite 1
Give Back 5
Give Back 3
View profile

Avatar
Validate 10
Level 2
v1101
Level 2

Likes

4 likes

Total Posts

150 posts

Correct reply

0 solutions
Top badges earned
Validate 10
Validate 1
Ignite 1
Give Back 5
Give Back 3
View profile
v1101
Level 2

13-10-2020

Hello Community - I have a page with dynamic content. Based on the results from the below URLs(with query string), the content is getting displayed on the page (www.test.com/products.html) and it is working fine in author, publish and dispatcher.

 

https://www.test.com/pages/_jcr_content.product.json?t=2011233&Tags=abc&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2034567&Tags=def&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2912345&Tags=ghi&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2983456&Tags=jkl&Order=existing

 

If I directly access the page (CDN), the URL with query parameter is getting cached,  i.e., I see the same content for all four sections of the page. We need to restrict the URLs with the query parameters to be cached, the results should display different results as the query parameters are different and it should not be cached.

 

https://www.test.com/pages/_jcr_content.product.json?t=2983456&Tags=jkl&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2983456&Tags=jkl&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2983456&Tags=jkl&Order=existing

https://www.test.com/pages/_jcr_content.product.json?t=2983456&Tags=jkl&Order=existing

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar
Boost 100
Level 6
snbaem
Level 6

Likes

115 likes

Total Posts

246 posts

Correct reply

37 solutions
Top badges earned
Boost 100
Springboard
Establish
Validate 25
Validate 10
View profile

Avatar
Boost 100
Level 6
snbaem
Level 6

Likes

115 likes

Total Posts

246 posts

Correct reply

37 solutions
Top badges earned
Boost 100
Springboard
Establish
Validate 25
Validate 10
View profile
snbaem
Level 6

13-11-2020

As mentioned above by @Manjunath_K there should be a setting in CDN. For example see - https://docs.microsoft.com/en-us/azure/cdn/cdn-query-string

Just putting out an after thought though 🙂  - If this is an external facing page and with considerably high number of products, the query parameters could be passed as post data form parameters via ajax call and allow caching of the calls and clear the cache using TTL in Dispatcher and CDN (or custom implementation to clear it) in case of any performance concerns

Answers (1)

Answers (1)

Avatar

Avatar
Give Back 3
MVP
Manjunath_K
MVP

Likes

140 likes

Total Posts

188 posts

Correct reply

61 solutions
Top badges earned
Give Back 3
Give Back
Boost 50
Boost 5
Boost 3
View profile

Avatar
Give Back 3
MVP
Manjunath_K
MVP

Likes

140 likes

Total Posts

188 posts

Correct reply

61 solutions
Top badges earned
Give Back 3
Give Back
Boost 50
Boost 5
Boost 3
View profile
Manjunath_K
MVP

13-10-2020

Hi @v1101,

Check if ignore query string is enabled at CDN caching level, this might be the reason these JSON response are not getting cached when its accessed using dispatcher url & getting cached when its accessed using CDN website url. another option is, you can set below mentioned response header in backend servlet so that this response will not cached.

 

response.addHeader("Cache-Control","no-store no-cache");