

# 付録: OPTIONS オブジェクト
<a name="RESTOPTIONSobject"></a>

## 説明
<a name="RESTOPTIONSobject-description"></a>

ブラウザは、このプリフライトリクエストを Amazon S3 に送信して、特定のオリジン、HTTP メソッド、ヘッダーを使用して実際のリクエストを送信できるかどうかを判断できます。

Amazon S3 は、バケットに `cors` サブリソースを追加できるようにすることで、クロスオリジンリソース共有 (CORS) をサポートしています。ブラウザがこのプリフライトリクエストを送信すると、Amazon S3 は `cors` 設定で定義されたルールを評価して応答します。

バケットで `cors` が有効になっていない場合、Amazon S3 は `403 Forbidden` レスポンスを返します。

 CORS の詳細については、「*Amazon Simple Storage Service ユーザーガイド*」の「[Cross-Origin Resource Sharing の有効化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html)」を参照してください。

## リクエスト
<a name="RESTOPTIONSobject-requests"></a>

### 構文
<a name="RESTOPTIONSobject-requests-syntax"></a>

```
1. OPTIONS /{{ObjectName}} HTTP/1.1
2. Host: {{BucketName}}.s3.amazonaws.com 
3. Origin: {{Origin}}
4. Access-Control-Request-Method: {{HTTPMethod}}
5. Access-Control-Request-Headers: {{RequestHeader}}
```

### リクエストパラメータ
<a name="RESTOPTIONSobject-requests-request-parameters"></a>

 このオペレーションでは、特定のリクエストパラメータは導入されませんが、実際のリクエストに必要なリクエストパラメータが含まれる場合があります。

### リクエストヘッダー
<a name="RESTOPTIONSobject-requests-request-headers"></a>


|  名前  |  説明  |  必須  | 
| --- | --- | --- | 
| Origin | Amazon S3 へのクロスオリジンリクエストの発信元を識別します。例えば、http://www.example.com などです。<br />タイプ: 文字列 <br />デフォルト: なし |  はい  | 
| Access-Control-Request-Method | 実際のリクエストで使用される HTTP メソッドを識別します。<br />タイプ: 文字列 <br />デフォルト: なし |  はい  | 
| Access-Control-Request-Headers | 実際のリクエストで送信される HTTP ヘッダーのカンマ区切りリスト。<br />例えば、サーバー側の暗号化を使用してオブジェクトを配置する場合、このプリフライトリクエストは、リクエストに `x-amz-server-side-encryption` ヘッダーを含めることができるかどうかを判断します。<br />タイプ: 文字列 <br />デフォルト: なし |  いいえ  | 

### リクエストの要素
<a name="RESTOPTIONSobject-requests-request-elements"></a>

このオペレーションの実装では、リクエストパラメータは使用しません。

## レスポンス
<a name="RESTOPTIONSobject-responses"></a>

### レスポンスヘッダー
<a name="RESTOPTIONSobject-responses-response-headers"></a>


| ヘッダー | 説明 | 
| --- | --- | 
| Access-Control-Allow-Origin | リクエストで送信されたオリジン。リクエストで指定されたオリジンが許可されていない場合、Amazon S3 はレスポンスにこのヘッダーを含めません。<br />タイプ: 文字列 | 
| Access-Control-Max-Age | プリフライトリクエストの結果をキャッシュできる時間 (秒単位)。<br />タイプ: 文字列 | 
| Access-Control-Allow-Methods  | 元のリクエストで送信された HTTP メソッド。リクエストのメソッドが許可されていない場合、Amazon S3 はレスポンスにこのヘッダーを含めません。<br />タイプ: 文字列 | 
| Access-Control-Allow-Headers  | ブラウザが実際のリクエストで送信できる HTTP ヘッダーのカンマ区切りリスト。リクエストされたヘッダーのいずれかが許可されていない場合、Amazon S3 はレスポンスにそのヘッダーを含めません。また、レスポンスには `Access-Control` プレフィックスが付いたヘッダーは含まれません。<br />タイプ: 文字列 | 
| Access-Control-Expose-Headers  | HTTP ヘッダーのカンマ区切りリスト。このヘッダーにより、JavaScript クライアントは実際のリクエストへのレスポンスでこれらのヘッダーにアクセスできるようになります。<br />タイプ: 文字列 | 

### レスポンス要素
<a name="RESTOPTIONSobject-responses-response-elements"></a>

このオペレーションの実装では、レスポンス要素は返されません。

## 例
<a name="RESTOPTIONSobject-examples"></a>

### 例: `cors` が有効なバケットにプリフライト OPTIONS リクエストを送信する
<a name="RESTOPTIONSobject-examples-example-1-configure-cors---single-rule"></a>

 ブラウザは、このプリフライトリクエストを Amazon S3 に送信して、http://www.example.com オリジンから `examplebucket` という名前の Amazon S3 バケットに実際の PUT リクエストを送信できるかどうかを判断できます。

#### リクエスト例
<a name="RESTOPTIONSobject-examples-example-1-configure-cors---single-rule-sample-request"></a>

```
1. OPTIONS /exampleobject HTTP/1.1
2. Host: examplebucket.s3.amazonaws.com 
3. Origin: http://www.example.com
4. Access-Control-Request-Method: PUT
```

#### レスポンス例
<a name="RESTOPTIONSobject-examples-example-1-configure-cors---single-rule-sample-response"></a>

```
 1. HTTP/1.1 200 OK
 2. x-amz-id-2: 6SvaESv3VULYPLik5LLl7lSPPtSnBvDdGmnklX1HfUl7uS2m1DF6td6KWKNjYMXZ
 3. x-amz-request-id: BDC4B83DF5096BBE
 4. Date: Wed, 21 Aug 2012 23:09:55 GMT
 5. Etag: "1f1a1af1f1111111111111c11aed1da1"
 6. Access-Control-Allow-Origin: http://www.example.com
 7. Access-Control-Allow-Methods: PUT
 8. Access-Control-Expose-Headers: x-amz-request-id
 9. Content-Length: 0
10. Server: AmazonS3
```

## 関連リソース
<a name="RESTOPTIONSobject-related-resources"></a>
+  [GetBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html) 
+  [DeleteBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html) 
+  [PutBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) 