キャッシングに関するページ・ルールの使用
ページ・ルールを使用することにより、リダイレクトの作成、キャッシング動作の微調整、サービスの有効化と無効化など、ページの URL に基づいたさまざまなアクションを実行できます。
ページルールは、以下の形式に一致する URL パターンに対して適用されます
<scheme>://<hostname><:port>/<path>
以下に例を示します。
https://www.example.com:80/image.png
scheme 構成要素と port 構成要素はオプションです。 scheme 構成要素が省略された場合は、形式として http:// プロトコルと https:// プロトコルが受け入れられます。 port が指定されなかった場合、ルールはすべてのポートと一致します。 ルール・パターンの中で * 記号を使用して一連の類似パターンに一致させることにより、基本的なワイルドカード・マッチングを行えます。
ページ・ルールの考慮事項
- どのリクエストに対しても、「1ページのみ」というルールが適用されます。
- ページルールは、上から下への順序で優先されます。 URL がルールに一致した場合、そのルールのみが適用されます。 つまり、あるリクエストに対してすでにページルールがトリガーされた場合、その後、 URL というパターンに一致するルールがあっても、それらは適用されません。
- 一般的には、最も具体的なルールから最も抽象的なルールへと順に並べます。
- ページ・ルールは無効にできます。この場合、これらは何の処理も行いません。 ただし、リストには引き続き表示されるので、編集することはできます。 **「有効」トグルを「オフ」**に設定すると、最初は「無効」に設定されたページ・ルールが作成されます。
転送 (URL リダイレクト)
HTTP リダイレクトの 301 または 302 を使用して、ある URL を別の URL にリダイレクトします。 ワイルドカードが一致した URL のいずれのセクションの内容も、$X 構文を使用して参照できます。 X は、パターン内のグロブのインデックスを示します。つまり、$1 は最初のワイルドカードが一致したものに置き換えられ、$2 は 2 番目のワイルドカードが一致したものに置き換えられます。
たとえば、次のようなルールを設定したとします。ここで:
- URL match =
*.example.com/* - 有効 = オン
- 設定 = 転送 URL
- = 301 永続リダイレクトとして
http://example.com/$2/に設定
この場合、www.example.com/stuff/things に対する要求は http://example.com/stuff/things にリダイレクトされます。
ドメインがそれ自体を宛先として指すリダイレクトは作成しないよう気を付けてください。 このような誤りがあると、無限のリダイレクト・エラーになる可能性があります。その場合は、影響を受ける URL を解決できません。
HTTPS へのリダイレクト
訪問者を HTTPS にリダイレクトしたい場合は、ルールの動作を「 常に HTTPS を使用する 」に設定してください。
カスタム・キャッシングの設定
ページルールのパターンに一致するすべての「 URL 」に対して、標準のキャッシュレベルのいずれかを使用して、キャッシュの動作を設定します。 キャッシュレベルを 「 すべてをキャッシュ 」に設定すると、デフォルトの静的ファイルタイプに含まれていないコンテンツであっても、あらゆるコンテンツがキャッシュされます。 **「キャッシュ・レベル (Cache Level)」を「バイパス (Bypass)」**に設定すると、その URL のキャッシングが行われなくなります。
ページルールを使用してキャッシュレベルを指定する場合、 EdgeキャッシュのTTL を設定できます。これにより、 CIS がファイルをキャッシュに保持する期間が制御されます。
ブラウザのキャッシュTTLは、クライアントのブラウザによってキャッシュされたリソースが有効である期間を制御します。 ブラウザがリソースを再度リクエストし、TTLがまだ期限切れになっていない場合、ブラウザは HTTP 304 (Not Modified) レスポンスを受け取ります。 30 分から 1 年までの範囲で TTL を設定できます。
デフォルトのキャッシング動作のすべてが厳密に RFC に準拠しているというわけではありません。 ページルールを通じて Originキャッシュ制御を設定する場合、主に再検証に関してRFCにさらに厳密に準拠するよう設計された、新しい一連のキャッシュルールが使用されます。 例えば、max-age=0 の場合のデフォルト動作では、まったくキャッシュされません。これに対して、**「起点キャッシュ制御 (Origin Cache
Control)」**を設定すると、キャッシュされて常に再検証されます。
次の例では、/images フォルダーにあるすべてをキャッシュするようページ・ルールが設定されます。 キャッシュされたリソースは、ユーザーのブラウザでは30分後に有効期限が切れますが、 IBM の CIS データセンターでは1日後に有効期限が切れます。
- URL match =
*.example.com/images/* - 有効 = オン
- ルールの動作の設定:
| 設定 | 設定: |
|---|---|
| キャッシュ・レベル | すべてをキャッシュ |
| ブラウザー・キャッシュ TTL | 30 分間 |
| エッジ・キャッシュ TTL | 1 日 |
不整合コンテンツの提供では、サーバーがダウンしていても、キャッシュからページを提供します。 訪問者は限定されたバージョンのサイトを参照できます。オフライン表示モードになっていることを示すメッセージが表示されます。
この機能は、HTTP 状況 503 を戻します。 サーバーがオンライン状態に戻ると、CIS 訪問者の表示モードが通常のブラウズにシームレスに切り替わります。
要求対象のページがキャッシュに入っていない場合は、その要求対象ページがオフラインになっているという趣旨のエラー・ページが訪問者に表示されます。 すべてをキャッシュ・ページ・ルールが有効になっていて、有効期限の時刻の設定がキャッシング頻度よりも小さい値になっていると、対応する間隔で不整合コンテンツの提供がパージされます。