

# Apêndice: objeto OPTIONS
<a name="RESTOPTIONSobject"></a>

## Descrição
<a name="RESTOPTIONSobject-description"></a>

Um navegador pode enviar essa solicitação de simulação para o Amazon S3 para determinar se ele pode enviar uma solicitação real com a origem, o método HTTP e os cabeçalhos específicos. 

O Amazon S3 oferece suporte ao compartilhamento de recursos de origem cruzada (CORS), permitindo que você adicione um sub-recurso `cors` em um bucket. Quando um navegador envia essa solicitação de simulação, o Amazon S3 responde avaliando as regras definidas na configuração de `cors`.

Se `cors` não estiver habilitado no bucket, o Amazon S3 retornará uma resposta `403 Forbidden`.

 Para obter mais informações sobre o CORS, consulte [Como habilitar o compartilhamento de recursos de origem cruzada](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Solicitações
<a name="RESTOPTIONSobject-requests"></a>

### Sintaxe
<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}}
```

### Parâmetros da solicitação
<a name="RESTOPTIONSobject-requests-request-parameters"></a>

 Essa operação não introduz nenhum parâmetro de solicitação específico, mas pode conter parâmetros de solicitação exigidos pela solicitação real. 

### Cabeçalhos de solicitação
<a name="RESTOPTIONSobject-requests-request-headers"></a>


|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Origin | Identifica a origem da solicitação de origem cruzada para o Amazon S3. Por exemplo, http://www.exemplo.com.<br />Tipo: string <br />Padrão: nenhum |  Sim  | 
| Access-Control-Request-Method | Identifica qual método HTTP será usado na solicitação real.<br />Tipo: string <br />Padrão: nenhum |  Sim  | 
| Access-Control-Request-Headers | Uma lista delimitada por vírgulas de cabeçalhos HTTP que serão enviados na solicitação real. <br />Por exemplo, para colocar um objeto com criptografia do lado do servidor, essa solicitação de simulação determinará se é possível incluir o cabeçalho `x-amz-server-side-encryption` na solicitação.<br />Tipo: string <br />Padrão: nenhum |  Não  | 

### Elementos da solicitação
<a name="RESTOPTIONSobject-requests-request-elements"></a>

Essa implementação da operação não usa elementos de solicitação.

## Respostas
<a name="RESTOPTIONSobject-responses"></a>

### Cabeçalhos de resposta
<a name="RESTOPTIONSobject-responses-response-headers"></a>


| Cabeçalho | Descrição | 
| --- | --- | 
| Access-Control-Allow-Origin | A origem que você enviou em sua solicitação. Se a origem na solicitação não for permitida, o Amazon S3 não incluirá esse cabeçalho na resposta.<br />Tipo: string | 
| Access-Control-Max-Age | Por quanto tempo, em segundos, os resultados da solicitação de simulação podem ser armazenados em cache.<br />Tipo: string | 
| Access-Control-Allow-Methods  | O método HTTP que foi enviado na solicitação original. Se o método na solicitação não for permitido, o Amazon S3 não incluirá esse cabeçalho na resposta.<br />Tipo: string | 
| Access-Control-Allow-Headers  | Uma lista delimitada por vírgulas de cabeçalhos HTTP que o navegador pode enviar na solicitação real. Se algum dos cabeçalhos solicitados não for permitido, o Amazon S3 não incluirá esse cabeçalho na resposta e a resposta não conterá nenhum dos cabeçalhos com o prefixo `Access-Control`.<br />Tipo: string | 
| Access-Control-Expose-Headers  | Uma lista delimitada por vírgulas de cabeçalhos HTTP. Esse cabeçalho fornece ao cliente JavaScript acesso a esses cabeçalhos na resposta à solicitação real.<br />Tipo: string | 

### Elementos de resposta
<a name="RESTOPTIONSobject-responses-response-elements"></a>

Essa implementação da operação não retorna elementos de resposta.

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

### Exemplo: enviar uma solicitação de simulação OPTIONS para um bucket habilitado para `cors`
<a name="RESTOPTIONSobject-examples-example-1-configure-cors---single-rule"></a>

 Um navegador pode enviar essa solicitação de simulação para o Amazon S3 para determinar se ele pode enviar a solicitação PUT real da origem http://www.exemplo.com para o bucket do Amazon S3 chamado `examplebucket`. 

#### Exemplo de solicitação
<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
```

#### Resposta da amostra
<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
```

## Recursos relacionados
<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) 