DuraSite-Edge Online Manual

2. レスポンスヘッダ

DuraSite-Edgeがオリジンサーバーからの応答をクライアント(Webブラウザなど)へ返す際に、キャッシュの動作状況に関する情報を提供したり、サービス固有の情報を付与するために、特定のHTTPレスポンスヘッダを追加、または内容を上書きして送信します。ここでは主なレスポンスヘッダの扱いについて説明します。

機能概要 #

DuraSite-Edgeによって追加・変更される主なレスポンスヘッダは以下の通りです。

  • x-durasiteedge-cache ヘッダ (独自ヘッダ):
    • このヘッダは、クライアントからのリクエストに対する応答が、DuraSite-Edgeのキャッシュから提供されたか、あるいはどのように処理されたかというキャッシュステータスを示します。主にデバッグや動作確認、キャッシュ効果測定に利用できます。
    • 主な値とその意味:
      • HIT: 有効なキャッシュが存在し、キャッシュから応答しました(キャッシュヒット)。
      • MISS: キャッシュが存在しなかったため、オリジンサーバーからコンテンツを取得して応答しました。
      • BYPASS: キャッシュルール等により、キャッシュを利用せずオリジンサーバーからコンテンツを取得して応答しました。
      • REVALIDATED: TTL切れのキャッシュがあり、オリジンサーバーに有効性を確認(再検証)した結果に基づいて応答しました(キャッシュを再利用した場合も更新した場合も含まれる可能性があります)。 (上記以外にも、より詳細な内部状態を示す値が付与される場合があります)
  • server ヘッダ:
    • このヘッダは、HTTP応答を生成したサーバーソフトウェアを示すために使われます。
    • DuraSite-Edgeは、オリジンサーバーが指定した server ヘッダの値を無視し、Accelia にて値を上書きしてクライアントに送信します。

設定方法 #

  • ヘッダの追加・上書き:
    • 上記の x-durasiteedge-cache ヘッダの追加、および server ヘッダの値を Accelia に上書きする動作は、本サービスの標準動作です。
    • お客様側でこれらの動作を有効にするための特別な設定は通常不要です。 自動的にレスポンスヘッダに適用されます。

主なユースケース #

これらのレスポンスヘッダは、以下のような目的で活用できます。

  • キャッシュ動作の確認・デバッグ (x-durasiteedge-cache):
    • 目的: Webサイトの表示が遅い、古い情報が表示される、更新が反映されないなどの問題発生時に、原因がキャッシュにあるのかを切り分けたい。
    • 活用: ブラウザの開発者ツール(ネットワークタブ)や curl コマンド (curl -I <URL>) などで対象リソースのレスポンスヘッダを確認します。x-durasiteedge-cache の値(HIT, MISS, BYPASS, REVALIDATEDなど)を見ることで、そのリクエストがどのように処理されたかを正確に把握し、意図通りのキャッシュ動作となっているかの確認や、問題の原因調査に役立てます。
  • キャッシュヒット率の評価 (x-durasiteedge-cache):
    • 目的: 設定したキャッシュ戦略がどの程度効果を発揮しているかを定量的に評価したい。
    • 活用: サイト全体や特定のパスにおける各キャッシュステータス(特にHITMISS)の発生割合を集計・分析します。これにより、キャッシュヒット率を算出し、キャッシュ設定の有効性を評価したり、改善のためのインサイトを得たりするための指標として利用できます。
  • Durasite-Edgeサービス経由の確認 (server):
    • 目的: リクエストが正しくDurasite-Edgeを経由して処理されているか、あるいは意図せずオリジンサーバーに直接アクセスしていないかなどを確認したい。
    • 活用: レスポンスヘッダの server フィールドが Accelia となっていることを確認することで、その応答が意図した通りDurasite-Edgeを経由して処理されたものであることを簡易的に確認できます。
  • オリジンサーバー情報の隠蔽 (server):
    • 目的: オリジンサーバーで使用しているWebサーバーソフトウェアの種類やバージョンを外部から推測されにくくし、セキュリティを向上させたい。
    • 活用: Durasite-Edgeが server ヘッダを上書きするため、オリジンサーバーが例えば Apache/2.4.54 (Unix) のような詳細な情報を返していたとしても、それがクライアントには伝わらなくなります。これにより、特定のソフトウェアの脆弱性を狙った攻撃のリスクを低減する効果が期待できます。