GitHub Pagesツール

無料 COOP/COEP/CORP ヘッダービルダー

SharedArrayBuffer、WASM、セキュリティ向けのクロスオリジン分離ヘッダーを設定します。

ツールを読み込み中...

COOP/COEP/CORP ヘッダービルダーとは

クロスオリジン分離はページがクロスオリジンのウィンドウやリソースとどのようにやり取りするかを制御するHTTPヘッダーのセットです。COOPはこのページが他のオリジンからwindow.openerを介してアクセスできるかどうかを制御します。COEPはクロスオリジンのリソース(画像、フォント、スクリプト)を読み込めるかどうかを制御します。CORPはこのリソースを他のオリジンが読み込めるかどうかを制御します。これらを組み合わせることでSharedArrayBufferや高解像度タイマーなどの強力な機能が有効になります。

クイックアンサー

SharedArrayBufferとオープナーセキュリティのためのクロスオリジン分離ヘッダーを構築します。COOPはwindow.openerアクセスを制御しCOEPはクロスオリジンリソースの読み込みを制御しCORPは他のオリジンがリソースを読み込めるかどうかを制御します。サードパーティの埋め込みをサポートしながら分離が必要なほとんどのサイトには中程度のプリセットを使用してください。

Last updated: 2026-05-28

制限事項

  • クロスオリジン分離は強力な制限でありサードパーティの埋め込み、CDNリソース、アナリティクス、フォントを静かに壊す可能性があります。すべてのページタイプで適用前に徹底的にテストしてください。
  • COEP credentiallessはChrome 113以上、Edge 113以上、Firefox 128以上でサポートされています。古いブラウザやSafariはサポートしておらずクロスオリジンリソースが失敗する原因になります。
  • 一部のホスティングプラットフォーム(GitHub Pagesを含む)はカスタムCOOP/COEP/CORPヘッダーの設定をサポートしていません。前段にCDNやリバースプロキシ(Cloudflare、Netlify)を追加してください。

Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub

使い方

  1. 分離目標のプリセットを選択するかカスタムを選択して各ヘッダーを個別に設定します。
  2. ヘッダー値を確認します。より厳格な分離はより多くの機能を有効にしますがサードパーティの埋め込みを壊す可能性があります。
  3. ヘッダーをコピーしてサーバーまたはCDN設定に追加します。
  4. デプロイ後にデバッグチェックリストを使用して壊れたリソースを特定します。

主な用途

  • 計算集約型のウェブアプリでSharedArrayBufferと高度なWebAssembly機能を有効にします。
  • CDN画像やサードパーティフォントを読み込みながらクロスオリジン攻撃を防ぐためにページのオープナー関係を分離します。
  • オープナーアクセスを防ぐが埋め込みリソースの読み込みは制限しない最小限の分離を設定します。

用途

使用例

計算集約型ウェブアプリ

ウェブアプリでリアルタイムオーディオ処理のためにSharedArrayBufferが必要です。完全分離プリセット(COOP same-origin、COEP require-corp、CORP same-origin)を使用します。すべてのサードパーティリソースはCORPヘッダーを送信するかcrossorigin属性で読み込む必要があります。

サードパーティ埋め込みを含む静的サイト

ブログでGoogle Fonts、CDNの画像、埋め込みYouTube動画を使用しています。中程度のプリセットでCOEP credentiallessを使用するとサードパーティリソースがCORPヘッダーなしで読み込まれオープナー分離は維持されます。

よくあるミス

  • すべてのサードパーティリソースがCORPヘッダーを送信することを確認せずにCOEP require-corpを設定するとCDNからの画像フォントスクリプトが静かに壊れます。
  • ページがポップアップとの通信やOAuthリダイレクトフローを必要とする場合にCOOP same-originを使用するとポップアップはwindow.openerにアクセスできなくなります。
  • COEP credentiallessは比較的新しくすべてのブラウザでサポートされていないことを忘れがちです。デプロイ前にブラウザの互換性を確認してください。

検証

  1. DevToolsのConsoleを開きヘッダーデプロイ後にCORP/COEPブロックエラーがないか確認します。
  2. コンソールでcrossOriginIsolatedを確認します。完全な分離が正しく機能している場合self.crossOriginIsolatedはtrueを返すはずです。

FAQ

COOP/COEP/CORP ヘッダービルダーのFAQ

COEP require-corpとcredentiallessの違いは何ですか?

require-corpはすべてのクロスオリジンリソースがCross-Origin-Resource-Policyヘッダーを送信するかcrossorigin属性で読み込まれることを要求します。credentiallessは新しい代替手段でクロスオリジンリクエストから自動的に資格情報を削除するためサードパーティリソースがCORPヘッダーなしで読み込まれます。credentiallessは既存のCDNやサードパーティコンテンツとの互換性が高くなっています。

私のサイトにクロスオリジン分離は必要ですか?

SharedArrayBuffer、高解像度のperformance.now()(マイクロ秒精度)、または特定のWebAssembly機能が必要な場合のみ必要です。ほとんどのコンテンツサイト、ブログ、ECサイトにはクロスオリジン分離は不要です。リラックスしたプリセットから始めてウェブアプリが有効にする機能を必要とする場合にのみ分離を強化してください。

関連ツール

その他のgithub pagesツール

こちらもお試しください

こちらもお試しください