

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

## Descripción
<a name="RESTOPTIONSobject-description"></a>

Un navegador puede enviar esta solicitud de verificación previa a Amazon S3 para determinar si puede enviar una solicitud real con el origen, el método HTTP y los encabezados específicos. 

Amazon S3 admite el uso compartido de recursos entre orígenes (CORS), ya que permite agregar un subrecurso `cors` en un bucket. Cuando un navegador envía esta solicitud de verificación previa, Amazon S3 responde evaluando las reglas que se definen en la configuración de `cors`.

Si `cors` no está habilitado en el bucket, Amazon S3 devuelve una respuesta `403 Forbidden`.

 Para obtener más información acerca de CORS, vaya a [Habilitación del uso compartido de recursos entre orígenes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) en la *Guía del usuario de Amazon Simple Storage Service*.

## Solicitudes
<a name="RESTOPTIONSobject-requests"></a>

### Sintaxis
<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 de la solicitud
<a name="RESTOPTIONSobject-requests-request-parameters"></a>

 Esta operación no presenta ningún parámetro de solicitud específico, pero puede contener los parámetros de solicitud que requiera la solicitud real. 

### Encabezados de solicitud
<a name="RESTOPTIONSobject-requests-request-headers"></a>


|  Nombre  |  Descripción  |  Obligatorio  | 
| --- | --- | --- | 
| Origin | Identifica el origen de la solicitud entre orígenes a Amazon S3. Por ejemplo, http://www.example.com.<br />Tipo: cadena <br />Valor predeterminado: None |  Sí  | 
| Access-Control-Request-Method | Identifica qué método HTTP se utilizará en la solicitud real.<br />Tipo: cadena <br />Valor predeterminado: None |  Sí  | 
| Access-Control-Request-Headers | Una lista delimitada por comas de encabezados HTTP que se enviará en la solicitud real. <br />Por ejemplo, para colocar un objeto con cifrado del servidor, esta solicitud de verificación previa determinará si puede incluir el encabezado `x-amz-server-side-encryption` en la solicitud.<br />Tipo: cadena <br />Valor predeterminado: None |  No  | 

### Elementos de la solicitud
<a name="RESTOPTIONSobject-requests-request-elements"></a>

Esta implementación de la operación no utiliza elementos de solicitud.

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

### Encabezados de respuesta
<a name="RESTOPTIONSobject-responses-response-headers"></a>


| Encabezado | Descripción | 
| --- | --- | 
| Access-Control-Allow-Origin | El origen que envió en la solicitud. Si no se permite el origen de la solicitud, Amazon S3 no incluirá este encabezado en la respuesta.<br />Tipo: cadena | 
| Access-Control-Max-Age | Cuánto tiempo, en segundos, se pueden almacenar en caché los resultados de una solicitud de verificación previa.<br />Tipo: cadena | 
| Access-Control-Allow-Methods  | El método HTTP que se envió en la solicitud original. Si no se permite el método de la solicitud, Amazon S3 no incluirá este encabezado en la respuesta.<br />Tipo: cadena | 
| Access-Control-Allow-Headers  | Una lista delimitada por comas de encabezados HTTP que el navegador puede enviar en la solicitud real. Si no se permite alguno de los encabezados solicitados, Amazon S3 no incluirá ese encabezado en la respuesta ni la respuesta contendrá ninguno de los encabezados con el prefijo `Access-Control`.<br />Tipo: cadena | 
| Access-Control-Expose-Headers  | Una lista delimitada por comas de encabezados HTTP. Este encabezado proporciona al cliente de JavaScript acceso a estos encabezados en respuesta a la solicitud real.<br />Tipo: cadena | 

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

Esta implementación de la operación no devuelve elementos de respuesta.

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

### Ejemplo: enviar una solicitud OPTIONS de verificación previa a un bucket habilitado para `cors`
<a name="RESTOPTIONSobject-examples-example-1-configure-cors---single-rule"></a>

 Un navegador puede enviar esta solicitud de verificación previa a Amazon S3 para determinar si puede enviar la solicitud PUT real desde el origen de http://www.example.com al bucket de Amazon S3 denominado `examplebucket`. 

#### Solicitud de muestra
<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
```

#### Respuesta de ejemplo
<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
```

## Activos 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) 