API 响应非静态字段和 AWS Cloudfront 缓存

API response non static fields and AWS Cloudfront caching

对于我目前正在构建的 API,我包括 timestamp 和一个唯一的 requestId (uuid) 用于交付给客户端的每个服务响应,例如:

"requestId": "bf0c66fa-0f1c-406c-9ee0-48ff73b8c5ee" "timestamp": "2017-11-03T23:57:40.141Z"

API 位于 AWS CloundFront 后面。

API 传递的大部分是静态内容,我们希望大多数请求都命中 CDN 缓存而不是 API 本身。

在缓存方面,requestId 和时间戳的不同字段值是否会产生任何不良副作用?

不会,改变内容不会对缓存产生影响。

CloudFront 不会检查内容或根据内容做出缓存决策。它只对 Cache-Control headers 和您在相关缓存行为设置中定义的 TTL 感兴趣。

如果您使用 CloudFront 来缓存响应,那么每次从缓存返回响应时 requestId 和时间戳当然是相同的,而不是发送到源。