付録: OPTIONS オブジェクト
説明
ブラウザは、このプリフライトリクエストを Amazon S3 に送信して、特定のオリジン、HTTP メソッド、ヘッダーを使用して実際のリクエストを送信できるかどうかを判断できます。
Amazon S3 は、バケットに cors サブリソースを追加できるようにすることで、クロスオリジンリソース共有 (CORS) をサポートしています。ブラウザがこのプリフライトリクエストを送信すると、Amazon S3 は cors 設定で定義されたルールを評価して応答します。
バケットで cors が有効になっていない場合、Amazon S3 は 403
Forbidden レスポンスを返します。
CORS の詳細については、「Amazon Simple Storage Service ユーザーガイド」の「Cross-Origin Resource Sharing の有効化」を参照してください。
リクエスト
構文
OPTIONS /ObjectNameHTTP/1.1 Host:BucketName.s3.amazonaws.com Origin:OriginAccess-Control-Request-Method:HTTPMethodAccess-Control-Request-Headers:RequestHeader
リクエストパラメータ
このオペレーションでは、特定のリクエストパラメータは導入されませんが、実際のリクエストに必要なリクエストパラメータが含まれる場合があります。
リクエストヘッダー
| 名前 | 説明 | 必須 |
|---|---|---|
Origin |
Amazon S3 へのクロスオリジンリクエストの発信元を識別します。例えば、http://www.example.com などです。 タイプ: 文字列 デフォルト: なし |
はい |
Access-Control-Request-Method |
実際のリクエストで使用される HTTP メソッドを識別します。 タイプ: 文字列 デフォルト: なし |
はい |
Access-Control-Request-Headers |
実際のリクエストで送信される HTTP ヘッダーのカンマ区切りリスト。 例えば、サーバー側の暗号化を使用してオブジェクトを配置する場合、このプリフライトリクエストは、リクエストに タイプ: 文字列 デフォルト: なし |
いいえ |
リクエストの要素
このオペレーションの実装では、リクエストパラメータは使用しません。
レスポンス
レスポンスヘッダー
| ヘッダー | 説明 |
|---|---|
Access-Control-Allow-Origin |
リクエストで送信されたオリジン。リクエストで指定されたオリジンが許可されていない場合、Amazon S3 はレスポンスにこのヘッダーを含めません。 タイプ: 文字列 |
Access-Control-Max-Age |
プリフライトリクエストの結果をキャッシュできる時間 (秒単位)。 タイプ: 文字列 |
Access-Control-Allow-Methods |
元のリクエストで送信された HTTP メソッド。リクエストのメソッドが許可されていない場合、Amazon S3 はレスポンスにこのヘッダーを含めません。 タイプ: 文字列 |
Access-Control-Allow-Headers |
ブラウザが実際のリクエストで送信できる HTTP ヘッダーのカンマ区切りリスト。リクエストされたヘッダーのいずれかが許可されていない場合、Amazon S3 はレスポンスにそのヘッダーを含めません。また、レスポンスには タイプ: 文字列 |
Access-Control-Expose-Headers |
HTTP ヘッダーのカンマ区切りリスト。このヘッダーにより、JavaScript クライアントは実際のリクエストへのレスポンスでこれらのヘッダーにアクセスできるようになります。 タイプ: 文字列 |
レスポンス要素
このオペレーションの実装では、レスポンス要素は返されません。
例
例: cors が有効なバケットにプリフライト OPTIONS リクエストを送信する
ブラウザは、このプリフライトリクエストを Amazon S3 に送信して、http://www.example.com オリジンから examplebucket という名前の Amazon S3 バケットに実際の PUT リクエストを送信できるかどうかを判断できます。
リクエスト例
OPTIONS /exampleobject HTTP/1.1 Host: examplebucket.s3.amazonaws.com Origin: http://www.example.com Access-Control-Request-Method: PUT
レスポンス例
HTTP/1.1 200 OK x-amz-id-2: 6SvaESv3VULYPLik5LLl7lSPPtSnBvDdGmnklX1HfUl7uS2m1DF6td6KWKNjYMXZ x-amz-request-id: BDC4B83DF5096BBE Date: Wed, 21 Aug 2012 23:09:55 GMT Etag: "1f1a1af1f1111111111111c11aed1da1" Access-Control-Allow-Origin: http://www.example.com Access-Control-Allow-Methods: PUT Access-Control-Expose-Headers: x-amz-request-id Content-Length: 0 Server: AmazonS3