クロスオリジンリクエストが送信される前に、ブラウザは、特定のオリジン、HTTPメソッド、およびヘッダー情報を含むプリフライト (OPTIONS) リクエストをObject Storage Service (OSS) に送信して、クロスオリジンリクエストを送信するかどうかを判断します。 ブラウザは、実際のリクエストがクロスオリジンリクエストであるかどうかに基づいて、プリフライトリクエストを送信するかどうかを自動的に決定します。

リクエスト構造

OPTIONS /ObjectName HTTP/1.1
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
起源: 起源
Access-Control-Request-Method:HTTPメソッド
Access-Control-Request-Headers: リクエストヘッダー

リクエストヘッダー

ヘッダー データ型 必須/任意 説明
起源 String 必須 http://www.example.com クロスオリジンリクエストを識別するために使用されるリクエストのオリジン。

クロスオリジンリクエストで指定できるOriginヘッダーは1つだけです。

デフォルト値 : null 。

Access-Control-Request-Method String 必須 PUT 実際のクロスオリジンリクエストで使用するメソッド。

クロスオリジンリクエストで指定できるAccess-Control-Request-Methodヘッダーは1つだけです。

デフォルト値 : null 。

Access-Control-Request-Headers String 任意 x-oss-test1,x-oss-test2 実際のクロスオリジンリクエストで送信されるカスタムヘッダー。

クロスオリジンリクエストでは、複数のカスタムヘッダーを設定できます。 カスタムヘッダーはコンマ (,) で区切ります。

デフォルト値 : null 。

レスポンスヘッダー

ヘッダー データ型 説明
アクセス制御-許可-オリジン String http://www.example.com リクエストに含まれるオリジン。 要求が拒否された場合、応答にはヘッダーが含まれません。
アクセス制御-許可-メソッド String PUT リクエストの HTTP メソッド。 要求が拒否された場合、応答にはヘッダーが含まれません。
アクセス制御-許可ヘッダー String x-oss-test,x-oss-test1 リクエストに含まれるヘッダーのリスト。 リクエストに許可されていないヘッダーが含まれている場合、レスポンスにヘッダーが含まれていないため、リクエストは拒否されます。
アクセス制御-公開ヘッダー String x-oss-test1,x-oss-test2 クライアント上のJavaScriptアプリケーションがアクセスできるヘッダーのリスト。
アクセス制御-Max-Age Integer 60 ブラウザがプリフライトの結果をキャッシュするための最大時間。 (単位:秒)

リクエストの例

オプション /testobject HTTP/1.1
ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
日付: 2月24日金曜日2012 05:45:34 GMT
起源: http://www.example.com
アクセス制御-リクエスト-メソッド: PUT
Access-Control-Request-Headers:x-oss-test1、x-oss-test2

レスポンスの例

HTTP/1.1 200 OK
x-oss-request-id: 5051845BC4689A033D00 ****
日付: 2月24日金曜日2012 05:45:34 GMT
アクセス制御-許可-オリジン: http://www.example.com
アクセス制御-許可-メソッド: PUT
Access-Control-Expose-Headers: x-oss-test1、x-oss-test2
接続: キープアライブ
コンテンツ長: 0
サーバー: AliyunOSS

エラーコード

エラーコード HTTP ステータスコード 説明
AccessForbidden 403 OSSがクロスオリジンリクエストを許可していない場合、またはバケットのクロスオリジンリソース共有 (CORS) が無効になっている場合に返されるエラーメッセージ。 PutBucketCORSを呼び出して、バケットのCORSを有効にすることができます。 バケットに対してCORSが有効になり、ブラウザからプリフライトリクエストが送信されると、OSSは指定されたCORSルールに基づいて実際のクロスオリジンリクエストを許可するかどうかを決定します。