結論から言えば、動的ページのキャッシュは可能です。
Cloudflareは、静的か動的かを区別してキャッシュする・しないという動作はありません。
またデフォルトではHTMLはキャッシュしませんが、キャッシュするように指定をすることはできます。
しかし、動的なページではほとんどの場合、何らかの問題が発生します。
Cloudflareのキャッシュの挙動
Cloudflareは、URL単位でコンテンツをキャッシュします。
デフォルトでキャッシュするのは、画像などの静的なファイルのみです。
キャッシュする拡張子はこちら
▽デフォルトではキャッシュしない例(HTMLなど)
https://www.domore.co.jp/
▽デフォルトではキャッシュする例(HTMLが読み込んでいる画像)
https://www.domore.co.jp/images/top.jpg
CloudflareはデフォルトではHTMLをキャッシュしないので、キャッシュするようにしたい場合は、Cloudflareの設定を追加する必要があります。
それでは、なぜ動的なページでは問題が発生するのでしょうか?
動的なページをキャッシュすることで起きる問題
動的ページとは、ページに表示する情報がなんらかの条件によって変化するページです。
動的ページの例
①自分の名前や購入履歴など、個人に合わせた情報が表示されるページ
②商品の在庫数が表示されるページ
③CMSに管理者ログインした状態で画面上に黒いバー(管理バー)が出てくるページ
このような表示上の処理はCloudflareがキャッシュするときに失われます。
たとえば①の場合、Aさんのアクセス時にキャッシュすると、次にBさんがアクセスしたときにBさんの名前が表示されている状態になります。
動的なページというのはこのように状況によって表示を変えるため、そもそもキャッシュに不向きであると言えます。
ただし、動的なページであっても、読み込んでいる画像はキャッシュしますので、Cloudflareの画像最適化による高速化は発揮します。
また、静的なページであればキャッシュは可能です。
Cache EverythingやCache Rulesで調整を行うことでHTMLもキャッシュ可能ですが、やや高度な設計が必要です。
Web表示スピード改善・セキュリティ対策のCloudflare
導入に関するご相談だけでなく、運用についてもお気軽にご相談ください。
DDoS攻撃対策を早急に行いたい方、WAFなどのセキュリティ機能やプランの詳細を知りたい方、
国内エンジニアによる運用サポートをご希望の方も、ぜひお問い合わせください。