オリジン、メソッド、リクエストヘッダー、認証情報モードを、コピーした CORS レスポンスヘッダーと比較して互換性を確認します。
ブラウザ内でローカルに実行このツールは、貼り付けたレスポンスヘッダーに対してブラウザの CORS リクエストを 1 件モデル化します。答えは 1 つだけです。ブラウザはそのレスポンスをページに読ませるか、必要な場合のプリフライトは通るか。
処理はすべてタブ内で完結します。リクエストは送信しないため、要約が示すのはコピーしたヘッダーが許す範囲であり、実際のサーバーが現在返す内容ではありません。
Access-Control-Allow-Origin はリクエストオリジンを完全に一致して繰り返す必要があります。スキームとホストは小文字、既定ポートは省略、末尾スラッシュなしです。Chrome はオリジン `https://app.example.com` に対して `https://app.example.com/` を拒否し、このツールも同じ不一致を報告します。
`*` がすべてのオリジンを許可するのは、リクエストが認証情報を送らない場合だけです。Cookie や HTTP 認証を使う場合は、レスポンスがオリジンを繰り返し `Access-Control-Allow-Credentials: true` を付ける必要があり、ワイルドカードのオリジンは許可が広く見えてもブロックされます。
JSON の Content-Type や独自ヘッダーがあると、ブラウザは本リクエストの前に OPTIONS のプリフライトを送ります。その場合 Chrome は Access-Control-Allow-Methods の該当エントリと、列挙した各ヘッダーに対する Access-Control-Allow-Headers のエントリを要求し、なければブロックされます。同じポリシーでも `text/plain` は通ります。
GET、HEAD、POST はセーフリストのメソッドで、Access-Control-Allow-Methods に列挙がなくてもプリフライトを通ります。PUT、PATCH、DELETE は列挙が必要です。メソッド名とヘッダー名は大文字小文字を区別せず比較され、`post` や `x-test` も一致します。
`Access-Control-Allow-Methods: *` と `Access-Control-Allow-Headers: *` がワイルドカードとして働くのは、認証情報を含まないリクエストだけです。認証情報を含むリクエストは、メソッドと各ヘッダーが明示的に列挙されている必要があり、このツールはアスタリスクを信用せずにそのとおり報告します。
このツールが行わないこと: リクエストの送信や認証情報の再送は行わず、ヘッダー値の制限(Authorization のスキーム、Content-Type の値)は判定せず、リダイレクト、null オリジン、Access-Control-Expose-Headers、Max-Age、Vary は対象外です。