Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

SOLVED

Cache POST call in dispatcher/fastly in AEM cloud

Avatar

Level 3

Can anyone guide, how to cache POST call in dispatcher in AEM cloud?

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

There are 3 rules which are backed into the dispatcher regarding caching:

  1. Only the response of GET requests are cached.
  2. The requested file must have an extension
  3. The statuscode of the request must be 200.

And then there are other options you can configure, for example regarding paths, extensions etc.

 

Also the HTTP RFCs mention that only GET should be cached, because POST requests are designed to change status, and therefor caching their result and returning them on a different POST request will return inconsistent data.

 

If course you can build your own code into AEM to cache POST requests (or part of it), but by default neither AEM nor the Dispatcher support that. And in case of AEM as a Cloud Service also the CDN does not support it.

View solution in original post

4 Replies

Avatar

Community Advisor

Dispatcher does not cache post request.

Please check https://experienceleague.adobe.com/docs/experience-cloud-kcs/kbarticles/KA-17497.html?lang=en 

Arun Patidar

AEM LinksLinkedIn

Avatar

Level 3

Thanks @arunpatidar . Is there an alternative way so that POST response can be cached?

 

Thanks

Anika

Avatar

Community Advisor

Hi,

You can cached directly in AEM at /var location and provided directly or use in memory caching.

https://adobe-consulting-services.github.io/acs-aem-commons/features/http-cache/index.html 

Arun Patidar

AEM LinksLinkedIn

Avatar

Correct answer by
Employee Advisor

There are 3 rules which are backed into the dispatcher regarding caching:

  1. Only the response of GET requests are cached.
  2. The requested file must have an extension
  3. The statuscode of the request must be 200.

And then there are other options you can configure, for example regarding paths, extensions etc.

 

Also the HTTP RFCs mention that only GET should be cached, because POST requests are designed to change status, and therefor caching their result and returning them on a different POST request will return inconsistent data.

 

If course you can build your own code into AEM to cache POST requests (or part of it), but by default neither AEM nor the Dispatcher support that. And in case of AEM as a Cloud Service also the CDN does not support it.