代码之家  ›  专栏  ›  技术社区  ›  ChrisRich

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

  •  0
  • ChrisRich  · 技术社区  · 7 年前

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

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

    API位于AWS CloundFront之后。

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

    当涉及到缓存时,requestId和timestamp的不同字段值是否会产生任何不希望的副作用?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Michael - sqlbot    7 年前

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

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

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