IBM Cloud Docs
キャッシング

キャッシング

キャッシュは、顧客にファイルを提供する際の応答時間を改善するために、エッジサーバーにファイルを保存するプロセスです。 よりユーザーの近くにファイルを保存することで、キャッシュはデータがネットワークを移動するのにかかる時間(一般にレイテンシと呼ばれる)を短縮します。

デフォルトでは、 CIS、静的ファイルをキャッシュします。静的ファイルには、多くの種類の画像ファイルやテキストファイル(HTML以外のファイル)が含まれます。 キャッシュに含まれるのは、あなたのウェブサイトのファイルのみで、ソーシャル・ネットワーキング・サイトのファイルなど、第三者のリソースは含まれません。 現在のところ、 CIS、MIMEタイプに基づくキャッシュは行わない。

CIS HTMLファイルは一般に動的とみなされるため、デフォルトではキャッシュされない。 しかし、静的なHTMLと動的なHTMLを明確に区別できるのであれば、ページルールを使ってHTMLファイルをキャッシュすることは可能である。

キャッシュされたファイルにはTTL(Time-to-Live)と呼ばれる有効期限があり、それを過ぎるとキャッシュから削除される。 また、いつでも手動でキャッシュからファイルをパージすることができます。 ファイルがパージされた後、 CIS、オリジン・サーバーに戻ってファイルを再読み込みし、キャッシュを最新バージョンに更新します。

キャッシュの設定とオプションの詳細については、 キャッシュを使用したページ・ルールを 参照してください。

デフォルトのキャッシュの動作

CIS は、訪問者のロケーション、接続先のデータセンター( )、およびそのデータセンターでのリソースのリクエスト頻度に基づいて静的コンテンツをキャッシュします。 CIS

キャッシングは、リクエストにサービスを提供する CIS データセンター内でのみ行われる。 以下のリソースは CIS によってキャッシュされない:

  • オフサイトまたはサードパーティのリソース
  • プロキシされていないDNSレコードでホストされているコンテンツ

デフォルトでは、 CIS、エッジ・キャッシュTTLページ・ルールがそれを上書きしない限り、オリジン・ウェブ・サーバーのキャッシュ・ヘッダーを尊重します:

  • CIS は、 ヘッダーが、、、 に設定されている場合、またはレスポンスにクッキーが存在する場合、リソースをキャッシュしません。 cache-control private no-store no-cache max-age=0
  • CIS cache-control が で が 0 より大きい場合、または expires ヘッダが将来の日付を指定している場合、 リソースをキャッシュする。 public max-age
  • max-ageexpires の両方のヘッダーが設定されている場合は、 max-age が優先される。

cache-control ディレクティブも expires ヘッダーも存在しないとき、 CIS は、以下のデフォルトのエッジキャッシュTTLで、特定の HTTP 応答コードをキャッシュする:

デフォルトのキャッシュ・レスポンス・コード
応答コード TTL
200、206、301 120 m
302、303 20 m
404、410 3 メートル
403 1 メートル

CIS にはキャッシュをカスタマイズするためのオプションがいくつか用意されている:

  • CIS ページルールを使用して、個々の URL のキャッシュ動作を設定します。
  • キャッシングをカスタマイズするには、 CIS エッジ関数 または API を 使用します。
  • CIS CLIで キャッシュレベルやTTLなどを調整。

CIS がキャッシュする最大ファイルサイズは、Trial および Standard Next のお客様では 512 MB、Enterprise のお客様では 5 GB です。 エンタープライズのお客様は、 サポートケースを開く ことによって、より大きなファイルのキャッシュを要求することができます。

デフォルトでキャッシュされるファイル拡張子

CIS は、コンテンツのキャッシュにファイル拡張子を使用します。 以下のファイル拡張子は自動的にキャッシュされます。

デフォルトでキャッシュされるファイル拡張子
ファイル拡張子
bmp
class
css
csv
doc
docx
ejs
eot
eps
gif
ico
jar
jpg
js
mid
midi
otf
pdf
pict
pls
png
ppt
pptx
ps
svg
svgz
swf
tif
tiff
ttf
webp
woff
woff2
xls
xlsx

CIS はMIMEタイプに基づいてコンテンツをキャッシュせず、デフォルトではHTMLページをキャッシュしない。 ただし、ウェブサイトの robots.txt ファイルを自動的にキャッシュします。 HTMLページなどの追加コンテンツをキャッシュするには、カスタム・ページ・ルールを設定して、何がキャッシュされるかを制御することができる。

不整合コンテンツへの対応

不整合コンテンツ対応は、サーバーの停止時に、限られたバージョンのサイトをオンラインに維持します。 たとえコンテンツの有効期限が切れても、 CIS、オリジン・サーバーがオフラインのときでも、キャッシュされたコンテンツをユーザーに提供し続ける。

CIS キャッシュ・レスポンスを理解する

CF-Cache-Status ヘッダーの出力には、リソースがキャッシュされたかどうかが示されます。

キャッシュ・レスポンス・コードと定義
応答コード 定義
HIT リソースは CIS キャッシュで見つかった。
MISS リソースは CIS キャッシュで見つからず、オリジンのウェブサーバーから提供されました。
EXPIRED このリソースはキャッシュにありましたが、有効期限が切れており、オリジンのウェブサーバーから提供されました。
STALE リソースはキャッシュから提供されましたが、有効期限が切れています。 CIS 更新されたリソースを取得するためにオリジンにコンタクトできなかった。
BYPASS オリジンサーバーは、 no-cacheprivate、または max-age=0 に設定された cache-control ヘッダーを使用して、キャッシュをバイパスするように CIS に指示しました。 BYPASS は、オリジン cache-control を有効にすると返されます。 CIS また、オリジンのWebサーバーがレスポンス・ヘッダーにクッキーを送信する場合、。 BYPASS
REVALIDATED リソースはキャッシュから提供されるが、古くなっている。 リソースは If-Modified-Since ヘッダーまたは If-None-Match ヘッダーによって再検証されました。
UPDATING リソースはキャッシュから提供されましたが、有効期限が切れています。 リソースはオリジンのウェブサーバーによって更新されている。 UPDATING は通常、人気のあるキャッシュリソースにのみ見られる。
DYNAMIC リソースはデフォルトではキャッシュされず、現在の CIS キャッシング設定では、 CIS にリソースのキャッシュを指示していません。 代わりに、リソースは起点 Web サーバーに対して要求されました。 ページ・ルールを使用してカスタム・キャッシュ・オプションを実装してください。

照会ストリングのソートの使用

Enterpriseのみ : CIS、クエリ文字列の順序が異なるURLは、キャッシュ内の別ファイルとして扱われます。 例えば、あるユーザーがリクエストしたとする:

/video/123456?title=0&byline=0&portrait=0&color=987654

と別のリクエスト:

/video/123456?byline=0&color=987654&portrait=0&title=0

CIS は、すでにキャッシュされていても、オリジンからファイルを再度フェッチする。

クエリ文字列ソート機能は、キャッシュの「前に」クエリ文字列をソートし、キャッシュヒット率を向上させます。 キャッシュページのトグルを使って、クエリー文字列ソートを有効にすることができます。