• ホーム
ホーム
高防衛 CDN静的・動的加速とエッジ洗浄高防衛 IP 転送L4 転送で業務 IP を保護SDK ゲームシールドクライアント SDK でゲーム向け防御高防衛サーバー専用リソースと高可用性詳しく見る
ゲーム向けソリューション低遅延と保護の一体運用金融向けソリューションコンプライアンスと洗浄ライブ配信ソリューションエッジでの送受信ブロックチェーンソリューションWeb3 インフラ保護ソリューションを見る
技術ドキュメントAPI と接続ガイドヘルプセンターFAQ とチケットブログ・ニュース製品情報とベストプラクティスグローバルスピードテストマルチノード計測タグクラウドサイト全体をトピックで俯瞰ドキュメントへ
会社概要ミッションとビジョン採用情報求人と内推パートナーチャネルとエコシステムお問い合わせ営業とサポートお問い合わせ

ドキュメント

  • 技術 ぶんしょ 文書 です
  • ベストプラクティス
ドキュメント/Cache Configuration/キャッシュルール

キャッシュルール

速盾网络 チーム
ドキュメント

タグ

  • 缓存规则

このページ

目次なし

共有

𝕏fin

エンタープライズ CDN と加速、AI 監視最適化、リアルタイム DDoS/CC 防御。世界数万社が信頼する高速・安全・信頼のコンテンツ配信と DDoS 対策サービス。

製品

  • 高防衛 CDN
  • 高防衛 IP 転送
  • SDK ゲームシールド
  • 高防衛サーバー

ソリューション

  • ゲーム向けソリューション
  • 金融向けソリューション
  • ライブ配信ソリューション
  • ブロックチェーンソリューション

リソース

  • 技術ドキュメント
  • ヘルプセンター
  • ブログ・ニュース
  • グローバルスピードテスト

会社情報

  • 会社概要
  • 採用情報
  • パートナー
  • お問い合わせ

© 2026-2028 sudun.com 保留所有权利

  • プライバシー
  • 利用規約
  • Cookie

キャッシュルールは、Sudunがエッジサーバーからコンテンツをキャッシュおよび提供する方法を定義します。適切に設定されたキャッシュルールは、パフォーマンスを向上させ、オリジンサーバーの負荷を軽減し、ユーザーエクスペリエンスを向上させます。

キャッシングの仕組み

code
リクエスト → エッジサーバー → キャッシュチェック
                            │
                    ┌───────┴───────┐
                    │               │
               キャッシュヒット   キャッシュミス
                    │               │
               キャッシュ済み    オリジンから取得
                コンテンツを返す   レスポンスをキャッシュ
                                  ユーザーに返す

デフォルトのキャッシュ動作

デフォルトでは、Sudunは以下の基準でコンテンツをキャッシュします:

コンテンツタイプデフォルトTTLキャッシュ可能
画像 (jpg, png, gif, webp)1日はい
CSS, JavaScript1日はい
フォント (woff, woff2, ttf)1日はい
HTMLキャッシュしないいいえ
APIレスポンスキャッシュしないいいえ

キャッシュルールの作成

  1. ドメイン → 対象ドメインを選択
  2. キャッシング → キャッシュルールに移動
  3. ルール作成をクリック

ルールの構成要素

構成要素説明例
マッチ条件リクエストを一致させる条件URLパス、ファイル拡張子
キャッシュアクション一致したリクエストの処理方法キャッシュ、バイパス、上書き
TTLキャッシュの生存時間3600 (1時間)

マッチ条件

URLパスマッチング

code
# 完全一致
/images/logo.png

# プレフィックス一致
/static/*

# ワイルドカード一致
/api/*/public

# 正規表現一致 (上級者向け)
^/blog/[0-9]{4}/.*$

ファイル拡張子マッチング

ファイルタイプによるキャッシュ:

json
{
  "match": {
    "file_extension": ["jpg", "jpeg", "png", "gif", "webp", "css", "js"]
  },
  "action": "cache",
  "ttl": 86400
}

クエリ文字列マッチング

json
{
  "match": {
    "path": "/search",
    "query_string": {
      "contains": "category"
    }
  }
}

ヘッダーマッチング

json
{
  "match": {
    "headers": {
      "Accept": "application/json"
    }
  },
  "action": "bypass"
}

キャッシュアクション

キャッシュ

コンテンツをエッジサーバーに保存:

json
{
  "match": { "path": "/static/*" },
  "action": "cache",
  "ttl": 604800,
  "settings": {
    "browser_ttl": 86400,
    "serve_stale": true
  }
}

キャッシュバイパス

常にオリジンから取得:

json
{
  "match": { "path": "/api/*" },
  "action": "bypass"
}

オリジンヘッダーの上書き

オリジンのキャッシュヘッダーを無視:

json
{
  "match": { "path": "/assets/*" },
  "action": "override",
  "ttl": 2592000,
  "ignore_origin_headers": true
}

TTL設定

エッジTTL

コンテンツがエッジサーバーにキャッシュされる期間:

値期間使用例
601分頻繁に更新されるコンテンツ
36001時間半動的コンテンツ
864001日静的アセット
6048001週間ほとんど変更されないコンテンツ
259200030日バージョン管理されたアセット

ブラウザTTL

ブラウザがコンテンツをローカルにキャッシュする期間:

json
{
  "edge_ttl": 86400,
  "browser_ttl": 3600
}

ヒント: キャッシュ無効化の制御を維持するため、ブラウザTTLはエッジTTLより短く設定してください。

キャッシュキー設定

キャッシュキーは、キャッシュされたオブジェクトを一意にする要素を決定します。

デフォルトのキャッシュキー

code
https://example.com/page?sort=date&page=1
         │            │        │
      スキーム      パス    クエリ文字列

クエリ文字列の扱い

オプション動作
すべて含めるすべてのクエリパラメータでキャッシュが変わる
すべて除外キャッシュではクエリ文字列を無視
特定のものを含める指定されたパラメータのみがキャッシュに影響
特定のものを除外指定されたパラメータを無視

例: 特定のパラメータを含める

json
{
  "cache_key": {
    "query_string": {
      "include": ["category", "page"]
    }
  }
}

ヘッダーベースのキャッシュキー

リクエストヘッダーによってキャッシュを変える:

json
{
  "cache_key": {
    "headers": ["Accept-Language", "Accept-Encoding"]
  }
}

クッキーベースのキャッシュキー

クッキーによってキャッシュを変える(控えめに使用):

json
{
  "cache_key": {
    "cookies": ["session_type", "user_tier"]
  }
}

古いコンテンツの取り扱い

再検証中は古いコンテンツを提供

新鮮なコンテンツを取得中にキャッシュされたコンテンツを提供:

json
{
  "serve_stale": {
    "while_revalidate": true,
    "on_error": true,
    "max_stale_age": 86400
  }
}

エラー時は古いコンテンツを提供

オリジンが失敗した場合に古いコンテンツを提供:

code
オリジンエラー (5xx) → 古いコンテンツを提供 → エラーを記録

キャッシュ制御ヘッダー

オリジンヘッダーの尊重

デフォルトでは、Sudunは以下のオリジンヘッダーを尊重します:

ヘッダー動作
Cache-Control: max-age=XX秒間キャッシュ
Cache-Control: no-cache提供前に再検証
Cache-Control: no-storeキャッシュしない
Cache-Control: privateエッジでキャッシュしない
Expires指定日時までキャッシュ
ETag条件付きリクエストを有効化

オリジンヘッダーの上書き

オリジンヘッダーに関わらず強制的にキャッシュ:

json
{
  "match": { "path": "/static/*" },
  "action": "cache",
  "ttl": 86400,
  "respect_origin_headers": false
}

ルールの優先順位

ルールは順番に評価され、最初に一致したルールが適用されます:

code
ルール1: /api/* → バイパス (優先度: 1)
ルール2: /api/public/* → キャッシュ (優先度: 2)
ルール3: /* → キャッシュ (優先度: 3)

リクエスト: /api/users → ルール1に一致 → バイパス
リクエスト: /api/public/data → ルール1に一致 → バイパス (ルール2ではありません!)

重要: 具体的なルールを一般的なルールの前に配置してください。

一般的なキャッシュルールパターン

静的アセット

json
{
  "name": "静的アセット",
  "match": {
    "file_extension": ["css", "js", "jpg", "png", "gif", "ico", "woff2"]
  },
  "action": "cache",
  "ttl": 2592000,
  "browser_ttl": 86400
}

APIレスポンス

json
{
  "name": "APIバイパス",
  "match": { "path": "/api/*" },
  "action": "bypass"
}

短いTTLのHTMLページ

json
{
  "name": "HTMLページ",
  "match": {
    "file_extension": ["html"],
    "path": "/*"
  },
  "action": "cache",
  "ttl": 300,
  "serve_stale": true
}

バージョン管理されたアセット(長いTTL)

json
{
  "name": "バージョン管理アセット",
  "match": {
    "path": "/assets/v*/*"
  },
  "action": "cache",
  "ttl": 31536000,
  "immutable": true
}

キャッシュルールのデバッグ

キャッシュステータスヘッダー

X-Cache-Statusレスポンスヘッダーを確認:

ステータス意味
HITキャッシュから提供
MISSオリジンから取得
BYPASSキャッシュがバイパスされた
EXPIREDキャッシュ期限切れ、再検証中
STALE古いコンテンツを提供

キャッシュルールのテスト

bash
# キャッシュステータスを確認
curl -I https://example.com/static/style.css

# レスポンスヘッダー
X-Cache-Status: HIT
Cache-Control: max-age=86400
Age: 3600

APIリファレンス

API経由でキャッシュルールを管理:

bash
# キャッシュルールを一覧表示
curl -X GET https://api.Sudun.com/v1/domains/example.com/cache-rules \
  -H "Authorization: Bearer YOUR_API_KEY"

# キャッシュルールを作成
curl -X POST https://api.yeSudunom/v1/domains/example.com/cache-rules \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "静的アセット",
    "match": {"file_extension": ["css", "js", "png"]},
    "action": "cache",
    "ttl": 86400
  }'

キャッシュルールについてお困りですか? support@Sudun.com までご連絡ください