Hitoshi Kaneko

Akamai設定の検証やデバッグ方法(デバッグヘッダ編)

Blog Post created by Hitoshi Kaneko Employee on Jul 11, 2017

これらの記事(Akamai設定の検証やデバッグ方法(Chrome編)Akamai設定の検証やデバッグ方法(Firefox編))にてご紹介している通り、Pragmaヘッダに以下パラメータを付与してリクエストを行うと、Akamaiのサーバからデバッグヘッダが応答されます。今回はその中でもデバッグに有用なヘッダについてご紹介します。

 

akamai-x-cache-on,akamai-x-cache-remote-on,akamai-x-check-cacheable,akamai-x-get-cache-key,akamai-x-get-extracted-values,akamai-x-get-request-id,akamai-x-serial-no, akamai-x-get-true-cache-key

 

X-Cache:Akamaiサーバのキャッシュに関連する動作と、その動作がどのAkamaiサーバによって応答されたかを示します。

例)TCP_MEM_HIT from a23-15-12-111.deploy.akamaitechnologies.com (AkamaiGHost/9.0.0.2-20192836) (-)

※from以降にあるハイフンで区切られている数字は、ドットに置き換えた場合のIPアドレスと一致します。(a23-15-12-111.deploy.akamaitechnologies.comの場合、IPアドレスは23.15.12.111となります。)

 

キャッシュに関連する動作としては以下にご紹介します。

TCP_HIT : Akamaiサーバのキャッシュ(ディスク)からコンテンツが配信された意味となります。
TCP_MEM_HIT : Akamaiサーバのキャッシュ(メモリ)からコンテンツが配信された意味となります。
TCP_MISS : Akamaiサーバにキャッシュが存在せず、オリジンサーバから取得されたコンテンツが配信された意味となります。
TCP_REFRESH_HIT : Akamaiサーバにキャッシュは存在しているが有効期限が切れているため、オリジンサーバへIf-Modified-Sinceリクエストを行い、HTTPステータスコード304「Not Modified」の応答を受け取った後にキャッシュからコンテンツが配信された意味となります。
TCP_REFRESH_MISS : Akamaiサーバにキャッシュは存在しているが有効期限が切れているため、オリジンサーバへIf-Modified-Sinceリクエストを行い、オリジンサーバから取得された新しいコンテンツが配信された意味となります。
TCP_REFRESH_FAIL_HIT : Akamaiサーバにキャッシュは存在しているが有効期限が切れているためオリジンサーバへIf-Modified-Sinceリクエストを行ったものの、何らかの理由でオリジンからコンテンツを取得できず、結果キャッシュからコンテンツが配信された意味となります。
TCP_IMS_HIT : クライアントからIF-Modified-Sinceリクエストを受け取り、AkamaiサーバからHTTPステータスコード304「Not Modified」が応答された意味となります。
TCP_NEGATIVE_HIT : オリジンからHTTPステータスコード404「Not Found」や504「Gateway Timeout」のように正常なコンテンツを配信できなかったケースがキャッシュされており、そのキャッシュが配信された意味となります。このようなキャッシュ時間は「Cache HTTP Error Response」のBehaviorで設定可能です。

なお、X-Cache-RemoteヘッダはTiered DistributionのようなAkamaiサーバを複数経由した場合の経由先サーバに関する同等の情報を示します。

 

X-Cache-KeyCache Key(キャッシュ識別子)に加えて、TTLやCPコード等を含みます。

例)/L/12345/123/1d/origin-www.example.com/index.html

 

こちらの例ではキャッシュの設定が1日で設定されているということ意味になります。1dの箇所が000であればキャッシュしない設定という意味になります。なお、この値はキャッシュの設定やオリジンのレスポンスヘッダによっては実際のキャッシュの有効期限と異なる動作となる場合があります。またTTL(1d)の前にある数字がCPコードになります。上の例では123が割り当てられたCPコードとなります。


X-True-Cache-Key:Cache Keyを示します。

X-Check-Cacheable:Akamaiでキャッシュ対象のコンテンツか否かをYESかNOで示します。(参考 : キャッシュ対象コンテンツの確認について

X-Akamai-Request-ID:リクエストIDはAkamaiの各サーバが払い出すユニークなIDとなります。Akamaiのサポートチームへトラブル等の原因調査を依頼するとき、こちらのリクエストIDとAkamaiサーバのIPアドレスをお伝え下さい。

Outcomes