キャッシュヘッダー分析ツール

任意のURLのHTTPキャッシングヘッダーを分析します。Cache-Control、Expires、ETag、Last-Modified、Vary、Age、一般的なCDNキャッシュシグナルを検査し、ブラウザと共有キャッシュの動作を理解します。リダイレクト追跡、生ヘッダービュー、フィルタリング、問題点の検出、JSON/PDFエクスポート機能を含みます。

Loading…

このツールについて キャッシュヘッダーアナライザー

URLを貼り付けて、即座にキャッシュ方法を理解しましょう:ブラウザディレクティブ、共有CDN/プロキシキャッシング(s-maxage、サロゲート制御)、バリデータ(ETag/Last-Modified)、再検証パターン(stale-while-revalidate、stale-if-error)。パフォーマンスのデバッグ、意図しないHTMLキャッシングの防止、静的アセットのキャッシュポリシー検証にご利用ください。

機能

  • URLベースのキャッシュ監査と明確なスコアカード+検出結果(キャッシング/パフォーマンスヘッダーに焦点)。
  • リダイレクト追跡(最大10回)でキャッシュルールが実際に適用される場所を確認。
  • 完全な透明性のための生ヘッダービュー(サーバー/CDNが実際に返した内容)。
  • キャッシュ分析のハイライト:Cache-Controlディレクティブ、Expires/Pragma、および競合。
  • バリデータチェック:ETagとLast-Modifiedの検出(条件付きリクエストと再検証用)。
  • Vary分析で欠落またはリスクのあるVary動作を捕捉(特にパーソナライズドコンテンツ用)。
  • CDNシグナル検出:Age、Via、CF-Cache-Status、X-Cache、Fastly/Akamai/CloudFront形式のヘッダー。
  • フィルターと「問題のみ」モードで、迅速に実行可能な問題に焦点を当てる。
  • 結果をJSONおよびPDFレポートとしてエクスポート(監査やクライアントへの成果物に最適)。
  • 帯域幅を最小限に抑えつつ互換性を保つ、HEAD優先プローブ(GETへのフォールバック付き)。

🧭 使い方 for cache-headers-analyzer

1

URLを入力

監査したい完全なURLを貼り付けます(例:[https://example.com/static/app.css](https://example.com/static/app.css))。

2

リクエスト動作を選択

高速チェックのため「HEADを先に試す(GETにフォールバック)」を有効に保ちます。URLがリダイレクトする可能性がある場合(HTTP→HTTPS、www、CDNなど)は「リダイレクトを追跡」を有効にします。

3

アナライザーの焦点を選択

バランスの取れたビューのため「自動(推奨)」を使用します。エンドポイントに関連性の高い検出結果を優先するため、「ブラウザキャッシング」、「CDN / プロキシキャッシング」、または「APIキャッシング」に切り替えます。

4

検出結果とヘッダーカテゴリを確認

まずスコア/検出結果を確認し、次にキャッシュディレクティブ、バリデータ(ETag/Last-Modified)、Vary分析、CDNシグナル(Age、キャッシュステータスヘッダー)を詳細に調べます。完全なレスポンスが必要な場合は「生ヘッダーを表示」をオンにします。

5

レポートをエクスポート

自動化用にJSONレポート、または監査やチームメンバー/クライアントとの共有用にPDFレポートをダウンロードします。

技術仕様

リクエストモデル

このツールは、オプションのリダイレクト追跡付きでURLヘッダー検査を実行します。可能であればHEADリクエストを最初に試行し、必要に応じてGETにフォールバックします。

設定動作デフォルト
HEADを優先(GETにフォールバック)HEADを使用してヘッダーを迅速に取得。HEADがサポートされていないか不十分な場合はGETにフォールバック有効
リダイレクトを追従リダイレクトチェーンを追従し、最終的なキャッシュ動作を検査有効
最大リダイレクト数無限ループを防ぐためのリダイレクト上限10(範囲 0–20)
タイムアウトリクエストのタイムアウト制限15000 ms
ユーザーエージェントリクエストのユーザーエージェントを識別Encode64Bot/1.0 (+[https://encode64.com](https://encode64.com))
プライベートネットワーク安全性のためプライベートネットワーク範囲へのアクセスをブロック無効(プライベートネットワークは許可されません)

分析対象のヘッダーとシグナル

アナライザーは、キャッシュセマンティクス(ブラウザおよび共有キャッシュ)と一般的なCDNエッジシグナルに焦点を当てています。

カテゴリー
キャッシュディレクティブCache-Control, Expires, Pragma, Surrogate-Control, CDN-Cache-Control
バリデータETag, Last-Modified(条件付きリクエスト/再検証に使用)
共有キャッシュ動作s-maxage, stale-while-revalidate, stale-if-error(Cache-Controlに存在する場合)
Vary動作Vary(キャッシュキーのバリエーションとパーソナライゼーションの安全性)
CDN/プロキシシグナルAge, Via, CF-Cache-Status, X-Cache, X-Cache-Hits, Server-Timing およびその他のエッジヒント
一部のCDNヘッダーはベンダー固有です。存在と意味はプロバイダーおよび構成によって異なる場合があります。

ヒューリスティック(警告をトリガーする条件)

調査結果は、実用的なキャッシュヒューリスティックに基づいており、欠落、矛盾、または弱いキャッシュポリシーを特定するのに役立ちます。

ヒューリスティックチェック内容
Cache-Controlの欠如Cache-Controlが存在しない場合に警告
競合するディレクティブディレクティブが矛盾している場合に警告(例:キャッシュ意図の混在)
バリデータの欠如キャッシュ可能なレスポンスにETag/Last-Modifiedがない場合に警告
弱いバリデータ関連する弱いバリデータパターンをフラグ付け
Varyリスクバリエーションが必要と思われる場所でVaryが欠けている場合に警告
Pragma no-cacheの不一致Pragma: no-cacheが対応するCache-Controlなしで存在する場合に警告

分類(静的 vs HTML vs API)

アナライザーはURLパスからコンテンツタイプの意図を推測し、キャッシュ推奨を調整できます。

クラスパスパターン(例)
静的アセット.css、.js、.png、.svg、.woff2など
HTML.html、.htm
API/api/で始まるパス、または.jsonで終わるパス
URLがこれらのパターンに一致しない場合は、「アナライザーフォーカス」を使用して推奨を導いてください。

コマンドライン

これらのCLIスニペットを使用して、ローカルでキャッシュヘッダーを検査できます。このツールの結果/スコアを置き換えるものではありませんが、結果を迅速に再現するのに役立ちます。

macOS / Linux

HEADリクエストでヘッダーを取得

curl -I [https://example.com/static/app.css](https://example.com/static/app.css)

本文をダウンロードせずに、Cache-Control、Expires、ETag、Last-Modified、Vary、およびCDNシグナルをチェックします。

リダイレクトを追跡してヘッダーを表示

curl -IL [https://example.com/](https://example.com/)

リダイレクトチェーンを表示し、キャッシュディレクティブが変更される場所を確認できます。

Run

Windows (PowerShell)

レスポンスヘッダーを取得

(Invoke-WebRequest -Uri [https://example.com/static/app.css](https://example.com/static/app.css) -Method Head).Headers

Cache-Control、ETag、Last-Modified、およびベンダーCDNヘッダー(存在する場合)を含むヘッダーを一覧表示します。

ハッシュ化されたファイル名(app.abc123.css)を持つ静的アセットの場合、immutable属性を伴う長期キャッシュを優先してください。HTMLについては、古いパーソナライズされたページを配信しないよう、控えめなキャッシュ設定を推奨します。

ユースケース

静的アセットのキャッシュ監査(CSS/JS/画像/フォント)

フィンガープリント付きアセットが長期間キャッシュ可能であり、必要時に効率的に再検証できることを確認します。

  • Cache-Controlに長いmax-ageと(適切な場合)immutableが含まれていることを確認
  • 安全な再検証のためのバリデータ(ETagまたはLast-Modified)が存在することを確認
  • CDNキャッシュヒット指標(Age、CF-Cache-Status、X-Cache)を確認
Cache-Control: public, max-age=31536000, immutable
ETag: "686897696a7c876b7e"
Vary: Accept-Encoding

HTMLページの誤ったキャッシュを防止

HTMLページがCDNやブラウザレベルで過度に積極的にキャッシュされるケースを検出し、ログインフロー、パーソナライゼーション、SEOレンダリングの一貫性の崩壊を防ぎます。

  • HTMLに対する過度に寛容なCache-Controlを検出
  • コンテンツがCookie、認証、言語によって異なる場合にVaryが欠落していることを特定
  • 安全な再検証パターンを確認

APIエンドポイントのキャッシュレビュー

APIレスポンスに対して共有キャッシュが有効かどうか、およびAPIが安全にキャッシュ可能かどうかを理解します。

  • s-maxageによる共有キャッシュを検出
  • stale-while-revalidate / stale-if-error戦略を特定
  • APIレスポンスがキャッシュ可能な場合にバリデータが欠落していることをフラグ付け

リダイレクト間のCDN動作をデバッグ

多くのサイトはリダイレクト(HTTP→HTTPS、apex→www、ロケールリダイレクト)を行います。このツールは、最初のホップから最終レスポンスまでキャッシュポリシーが一貫していることを確認するのに役立ちます。

  • 各ホップおよび最終URLのヘッダーを確認
  • エッジルールまたはオリジン書き換えによって導入されたキャッシュヘッダーの変更を捕捉

❓ Frequently Asked Questions

このツールはキャッシュのためにどのヘッダーを分析しますか?

キャッシュのセマンティクスとシグナルに焦点を当てています:Cache-Control、Expires、Pragma、Age、ETag、Last-Modified、Vary、およびVia、CF-Cache-Status、X-Cacheなどの一般的なCDN/プロキシ指標と関連するエッジヘッダーです。

ブラウザとCDNでキャッシュ結果が異なるのはなぜですか?

ブラウザはエンドツーエンドのキャッシュディレクティブ(Cache-Control、Expires)に従いますが、CDNやプロキシは共有キャッシュルール(s-maxage、Surrogate-Control)およびエッジポリシーを適用する場合があります。レスポンスはエッジではキャッシュ可能でもブラウザでは短期間の場合、またはその逆の場合があります。

ETagとLast-Modifiedは何に使用されますか?

これらは条件付きリクエストのためのバリデータです。ETag(If-None-Match)またはLast-Modified(If-Modified-Since)を使用することで、クライアントとキャッシュはリソースを再検証し、コンテンツが変更されていない場合に軽量な304 Not Modifiedを受け取ることができます。

HTMLページを長期間キャッシュすべきですか?

通常は推奨しません。HTMLは頻繁に変更されることが多く、パーソナライズされている場合があります。積極的なキャッシュは古いまたは誤ったコンテンツを配信する可能性があります。再検証を伴う短期キャッシュを優先し、コンテンツがヘッダー/Cookieに依存する場合は正しいVaryルールを使用してください。

Varyとは何ですか?なぜ重要ですか?

Varyは、どのリクエストヘッダーがレスポンスに影響を与えるかをキャッシュに伝えます(例:Accept-Encoding)。Varyの欠落または誤りは、キャッシュが誤ったバリアント(圧縮版と非圧縮版、言語バリアントなど)を配信する原因となります。

ここにURLを貼り付けても安全ですか?

このツールは提供されたURLに対してサーバーサイドリクエストを実行し、プライベートネットワークターゲットをブロックします。信頼できる公開URLを使用し、URLクエリストリングにシークレットを貼り付けないでください。

分析結果をエクスポートできますか?

はい。このツールはJSONレポートとPDFレポートのエクスポートをサポートしており、結果を共有したり、パフォーマンス監査に添付したりできます。

Pro Tips

Performance Tip

アセットがフィンガープリント化されている場合(ファイル名にハッシュ)、長いmax-ageとimmutableを使用すると、リピート訪問時のパフォーマンスが最適化されます。

Security Tip

HTMLがパーソナライズされている場合(クッキー/認証)、キャッシュキーとVaryの動作を完全に制御できない限り、共有キャッシュでのキャッシュは避けてください。

Performance Tip

キャッシュ可能なリソースにはバリデータ(ETagまたはLast-Modified)を優先的に使用し、クライアントが再ダウンロードではなく304で再検証できるようにします。

Best Practice

no-storeと長いmax-ageなど、競合するディレクティブに注意してください。これらは通常、設定ミスを示しています。

Best Practice

リダイレクトのデバッグ時は、各ホップでのキャッシュヘッダーを比較してください。エッジルールにより、リダイレクトと最終URL間のキャッシュ動作が変更される可能性があります。

CI Tip

JSONレポートをエクスポートし、CI/パフォーマンス監査の成果物として保管することで、経時的なリグレッションを追跡できます。

Additional Resources

Other Tools

キャッシュヘッダーアナライザー — Cache-Control、ETag、CDNシグナル、ブラウザキャッシングを検査 | Encode64