Kenji Suzuki Posted on Sep 14 Cloudflare WorkersのレスポンスをCDNにキャッシュさせたかったが、WorkersがCDNそのものだった https://github.com/announcing-app/announcing ではimmutableなレスポンスを返すように意識して設計している https://blog.katsubemakito.net/firebase/cloudfunctions-cdn-cache 上記のイメージでWorkersのレスポンスをCDNにキャッシュさせて、Workersの実行回数を減らしたい export default { fetch() { const data = { message: 'Hello at ' + new Date().toISOString() }; const res = new Response(JSON.stringify(data), { headers: { 'content-type': 'application/json', 'Cache-Control': 'public, s-maxage=86400, immutable', }, }); return res; }, }; Enter fullscreen mode Exit fullscreen mode 上記のようなコードを書いてもキャッシュされない(毎回日付が変わる) AIに聞いてもとりあえずこういうコードを書いてくる WorkersはCDNの後にぶら下がっているのではなく、CDN(Edge)そのものの上で動いている模様 https://developers.cloudflare.com/workers/reference/how-workers-works/ このページをちゃんと理解できてなかった 試しにカスタムドメインのDNSにCNAMEで~~~~.workers.devを設定したら、すぐエラー(Connection timed out(522))が返ってきたので、やはりoriginのように扱うのは無理そう Workers内でCache APIを使うのが正解の模様 https://developers.cloudflare.com/workers/runtime-apis/cache/ Cache APIにより、キャッシュ無効化は管理しやすくなる Workersのリクエスト回数をケチろうとしてはいけない (それでも十分安いとは思うが) 実行コードを軽量にすることを努力する メモリ128MBのIsolatesはそれなりにシビアに考えたほうがよさそう Top comments (0) Subscribe Personal Trusted User Create template Templates let you quickly answer FAQs or store snippets for re-use. Submit Preview Dismiss Code of Conduct • Report abuse Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink. Hide child comments as well Confirm For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)