Rate limiting は server を過剰なリクエストから守り、HTTP caching はすでに答えたリクエストの作業の繰り返しを避けます。どちらも HTTP で標準化され、規模の大きい production API に不可欠です。
Rate limiting
server は、client が各時間窓で行えるリクエスト数に上限を設け、超過時に 429 Too Many Requests を返します。行儀の良い client が自己スロットリングできるよう、ヘッダで上限を広告します:
HTTP/1.1 200 OK
RateLimit-Limit: 100
RateLimit-Remaining: 12
RateLimit-Reset: 30
HTTP/1.1 429 Too Many Requests
Retry-After: 30
{ "error": "rate limit exceeded, retry in 30s" }
