DuraSite-Edgeのキャッシュシステムが、コンテンツをどのように識別し保存するかに関する基本的な仕様として、リクエストされたURIのプロトコル(HTTPまたはHTTPS)を区別する点について説明します。
機能概要 #
DuraSite-Edgeのキャッシュは、アクセスされたプロトコル(HTTPかHTTPSか)を区別してコンテンツを保存・管理します。
これは、たとえURIパスが全く同じ(例: /images/logo.png
)であっても、http://example.com/images/logo.png
へのアクセスによってキャッシュされたオブジェクトと、https://example.com/images/logo.png
へのアクセスによってキャッシュされたオブジェクトは、それぞれ別個の独立したキャッシュとして扱われることを意味します。
この仕様は、WebサイトによってはHTTP接続時とHTTPS接続時で配信するコンテンツの内容が異なる場合があるため、それぞれのプロトコルでアクセスしたユーザーに常に正しいコンテンツを提供するために重要です。
設定方法 #
この設定は、ルール設定画面(例: 「URLベース詳細設定登録」画面)で行います。
- 「設定が使用されるプロトコル」ドロップダウンリスト:
- 各ルール設定項目内にあるこのドロップダウンリストで、そのルール(例: キャッシュ有効化、キャッシュ無効化など)を適用する対象プロトコルを選択します。
- 選択肢:
HTTP,HTTPSの両方で使用
: HTTPリクエストとHTTPSリクエストの両方にこのルールが適用されます(デフォルト)。HTTPで使用
: HTTPプロトコルによるリクエストの場合にのみ、このルールが適用されます。HTTPSで使用
: HTTPSプロトコルによるリクエストの場合にのみ、このルールが適用されます。
この設定項目を利用することで、「特定のパス /secure/
については、HTTPSアクセス時のみキャッシュを無効化する」といった、プロトコルを条件に含めた柔軟なルール作成が可能になります。
主なユースケース #
プロトコル別にキャッシュが保存される基本仕様と、ルール適用プロトコルを指定できる設定により、以下のようなメリットがあります。
プロトコル別にキャッシュが保存されることにより、以下のような場面で意図した通りのコンテンツ配信が保証され、問題発生のリスクが低減されます。
- HTTPとHTTPSで異なるコンテンツを提供している場合:
- シナリオ: セキュリティ上の理由からHTTPS接続時のみ特定のJavaScriptファイルを追加で読み込ませている、あるいはブランディング上の理由でHTTPとHTTPSで異なるロゴ画像を使用している。
- メリット: それぞれのプロトコルでアクセスしたユーザーに対して、そのプロトコル用に意図された正しいコンテンツ(スクリプトや画像)がキャッシュから提供されます。
http://
とhttps://
で挙動や表示が変わるサイトでも安心です。
- 混合コンテンツ(Mixed Content)問題の回避(キャッシュ起因):
- シナリオ: HTTPSで提供されているページ内に、誤ってHTTPリソース(例: 画像)へのリンクが残ってしまっている。
- メリット: たとえそのHTTPリソースがDuraSite-Edgeにキャッシュされていたとしても、HTTPSページからのリクエストに対してHTTP版のキャッシュが誤って返されることはありません(逆も同様です)。これにより、キャッシュが原因でブラウザの混合コンテンツ警告が発生することを防ぎます。
- (注意): これはキャッシュレベルでの動作です。WebサイトのHTMLソースコード自体に混合コンテンツが含まれないように修正することは別途重要です。
- WebサイトのHTTPS移行期間中の安定運用:
- シナリオ: WebサイトをHTTPからHTTPSへ移行する途中で、一時的に両方のプロトコルでアクセス可能な状態になっている。
- メリット: HTTPでのアクセスに対するキャッシュと、HTTPSでのアクセスに対するキャッシュが個別に管理・利用されるため、移行期間中もユーザーはアクセスしたプロトコルに応じた適切なコンテンツをキャッシュ経由で受け取ることができ、スムーズな移行プロセスを支援します。
- 特定のプロトコルに限定したキャッシュ制御:
- シナリオ: HTTPSでのみ利用されるAPI (
/api/v2/
) について、HTTPSリクエストに対してのみキャッシュ無効化ルールを適用したい。HTTPでのアクセス(通常は想定されない)には影響を与えたくない。 - メリット: ルール設定時に「設定が使用されるプロトコル」で
HTTPSで使用
を選択することで、意図した通りHTTPSアクセス時のみルールを適用できます。HTTPアクセス時のキャッシュ動作(デフォルトルールや他のHTTP適用ルール)には影響しません。
- シナリオ: HTTPSでのみ利用されるAPI (