Akamai Diversity
Home > Web Performance > そのNo-Storeコンテンツ、キャッシュ出来ませんか? - Part2

そのNo-Storeコンテンツ、キャッシュ出来ませんか? - Part2

前回、そのNo-Storeコンテンツ、キャッシュ出来ませんか? - Part1 では、パーソナライズコンテンツであるがために No-Store設定としていたものに対し、キャッシュ設定をする方法について考えました。


キャッシュ設定が出来ないページには、その他にもNo-Store設定が必要となる理由が考えられますが、今回は更新が頻繁に行われるコンテンツ、いつ更新されるか予測できないコンテンツについて考えたいと思います。


理由 2. 更新が頻繁に行われるコンテンツ、いつ更新されるか予測できないコンテンツである

株価やスポーツイベントのスコアのようなユースケースを除いて、Webページに表示される情報の大部分は、少なくとも数分間キャッシュすることが出来る可能性があります。

大きなトラフィック量のあるWebサイトでは、アクセスの多いページに対してほんの数分間のキャッシュ設定をすることで、オリジンインフラの負荷軽減やユーザーエクスペリエンスの向上につながります。

では、更新が頻繁に行われるコンテンツ、いつ更新されるか予測できないコンテンツに対してはどうでしょうか。これらの場合には、キャッシュのTTL(Time to Live)を「0(ゼロ)」に設定することを検討できます。

No-Store設定のコンテンツの場合には、アカマイサーバーが毎回オリジンサーバーに通常リクエストをフォワードするのに対し、ゼロTTL設定のコンテンツの場合には、アカマイサーバーはオリジンサーバーに対し IMS(if-modified-since)リクエストをフォワードします。

両者の違いは、前者がオリジンサーバーが毎回フルサイズのコンテンツのレスポンスを返すのに対し、後者はコンテンツに変更があった場合にのみ、フルサイズのコンテンツのレスポンスを返します。逆に言えば、コンテンツに変更がなかった際には、304 Not Modified レスポンスというフルサイズのレスポンスに比べて小さなレスポンスのみを返すことになります。

No-Store設定の場合と比較すると、コンテンツの変更がない場合にはレスポンスサイズが小さいため、オリジンサーバーの帯域の節約が可能となり、ユーザーエクスペリエンスの向上にもつながります。


ims.png


Leave a comment