zeit/now のキャッシュをバリバリに利かせてレスポンスを速くする
now でいつからか使えるようになった stale-while-revalidate の話。 Caramelize でも採用しています。
アプリケーション側で設定しても反映されますが、この設定は now.json でもグローバルに設定でき、nuxt.js の nuxtjs/proxy のような設定の仕方のわからない API プロキシでも効かせられるので便利です。
code:now.json
"routes": [
{
"src": "/.*",
"headers": { "Cache-Control": "s-maxage=600, stale-while-revalidate" },
"continue": true
}
],
s-maxage=600 で 600秒=10分キャッシュを持たせ、過ぎてリクエストがあった後バックグラウンドでキャッシュの更新を試みます。