Customer would like to know if it is possible to cache API requests in Amazon CloudFront if the app cannot set cache-control headers

0

Is it possible to cache API requests in CloudFront if the application the customer is using cannot set cache-control headers? I can see that content can be cached without these headers, but I am unable to find the answer for API requests specifically.

AWS
已提问 4 年前550 查看次数
1 回答
0
已接受的回答

API requests are 'just' HTTP requests, so the documentation for CloudFront is applicable to all content, regardless as to whether it is an API, dynamically generated HTML, or static content.

You can configure CloudFront caching using MinTTL, MaxTTL (which will place a minimum/maximum limit provided by the origin) and DefaultTTL (which provides a cache TTL when the origin doesn't specify any). These are configured for each cache-behavior, and so it's the same for all URLs matching the bevhavior's path pattern. It also doesn't create or modify the cache-control headers that are passed to the client.

If you need more specific control over of caching (for instance, it is based on a cookie) or you want to actually set the cache=-control header for clients (so they are able to cache downstream) then you could use origin-facing Lambda@Edge to set cache-control before it returns through the cache.

AWS
专家
已回答 4 年前
profile picture
专家
已审核 1 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则