OPTIONSメソッド【OPTIONS method】HTTP OPTIONS/OPTIONSリクエスト
OPTIONSメソッドとは?

対象とするパスにはWebサーバ上のファイルや実行プログラムなどを指定できるほか、サーバ全体を対象とする場合は「*」を用いる。通常、サーバの状態を変更しない安全なメソッドに分類され、応答に本文を含まないことも多い。
サーバはOPTIONSリクエストを受け取ると、応答ヘッダの「Allow:」フィールドに、「GET」「POST」など利用可能なHTTPメソッドを列挙して返す。クライアントは実際にリクエストを送信する前に対象リソースが対応するメソッドを確認できる。返される内容はサーバの実装や設定によって異なり、利用可能なすべてのメソッドが示されるとは限らない。
OPTIONSメソッドが用いられる代表的な場面に、CORS(Cross-Origin Resource Sharing)における「プリフライトリクエスト」(preflight request)がある。CORSとは、Webページの読み込み元(オリジン)とは異なるオリジンのWebサーバへ通信を行う仕組みで、セキュリティ上本来は制限されている。この制約を安全に越えるため、ブラウザは実際の通信に先立ち、対象サーバがそのオリジンからの要求を許可するかどうかをOPTIONSメソッドで事前に確認する。
プリフライトリクエストでは、クライアントは「Origin:」「Access-Control-Request-Method:」「Access-Control-Request-Headers:」のヘッダを付加してOPTIONSリクエストを送信する。それぞれ送信元のオリジン、実際に使用予定のHTTPメソッド、使用する独自ヘッダを示す。サーバはこれらを基に許可の可否を判断し、許可する場合は「Access-Control-Allow-Origin:」などのヘッダを含む応答を返す。拒否された場合、ブラウザは本来のリクエストを送信せずに処理を終えるため、不要な通信や意図しないデータ送信を防げる。