

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Elementi di una configurazione CORS
<a name="ManageCorsUsing"></a>

Per configurare il bucket in modo da consentire le richieste multiorigine, si crea una configurazione CORS. La configurazione CORS è un documento con elementi che identificano le origini che potranno accedere al bucket, le operazioni (metodi HTTP) supportate per ogni origine e altre informazioni specifiche dell'operazione. È possibile aggiungere fino a 100 regole alla configurazione. È possibile aggiungere la configurazione CORS come risorsa secondaria `cors` al bucket.

Se configura CORS nella console S3, è necessario utilizzare JSON per creare una configurazione CORS. La nuova console S3 supporta solo configurazioni JSON CORS. 

Per ulteriori informazioni sulla configurazione CORS e sugli elementi in essa contenuti, consulta gli argomenti riportati di seguito. Per istruzioni su come aggiungere una configurazione CORS, consulta [Configurazione della funzionalità Cross-Origin Resource Sharing (CORS)](enabling-cors-examples.md).

**Importante**  
Nella console S3, la configurazione CORS deve essere JSON. 

**Topics**
+ [

## Elemento `AllowedMethods`
](#cors-allowed-methods)
+ [

## Elemento `AllowedOrigins`
](#cors-allowed-origin)
+ [

## Elemento `AllowedHeaders`
](#cors-allowed-headers)
+ [

## Elemento `ExposeHeaders`
](#cors-expose-headers)
+ [

## Elemento `MaxAgeSeconds`
](#cors-max-age)
+ [

## Esempi di configurazioni CORS
](#cors-example-1)

## Elemento `AllowedMethods`
<a name="cors-allowed-methods"></a>

Nella configurazione CORS è possibile specificare i valori indicati di seguito per l'elemento `AllowedMethods`.
+ GET
+ PUT
+ POST
+ DELETE
+ HEAD

## Elemento `AllowedOrigins`
<a name="cors-allowed-origin"></a>

Nell'elemento `AllowedOrigins`, è possibile specificare le origini da cui si desiderano consentire le richieste multidominio, ad esempio` http://www.example.com`. La stringa di origine può contenere solamente un carattere jolly `*`, ad esempio `http://*.example.com`. Se si desidera, è possibile specificare `*` come origine per consentire a tutte le origini di inviare richieste multiorigine. È anche possibile specificare `https` per abilitare solo le origini sicure.

## Elemento `AllowedHeaders`
<a name="cors-allowed-headers"></a>

L'elemento `AllowedHeaders` specifica le intestazioni consentite in una richiesta preliminare tramite l'intestazione `Access-Control-Request-Headers`. Ogni nome di intestazione in `Access-Control-Request-Headers` deve corrispondere a una voce nell'elemento. Tra le intestazioni richieste, Amazon S3 invierà nella risposta solo quelle consentite. Per un esempio di elenco di intestazioni che possono essere utilizzate nelle richieste ad Amazon S3, consulta l'argomento relativo alle [intestazioni di richiesta comuni](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

Ogni AllowedHeaders stringa nella configurazione può contenere al massimo un carattere jolly (\$1). Ad esempio, `<AllowedHeader>x-amz-*</AllowedHeader>` abiliterà tutte le intestazioni specifiche di Amazon.

## Elemento `ExposeHeaders`
<a name="cors-expose-headers"></a>

Ogni `ExposeHeader` elemento identifica un'intestazione nella risposta a cui desideri che i clienti possano accedere dalle loro applicazioni (ad esempio, da un JavaScript `XMLHttpRequest` oggetto). Per un elenco delle intestazioni di risposta più comuni di Amazon S3, consulta l'argomento relativo alle [intestazioni di richiesta comuni](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

## Elemento `MaxAgeSeconds`
<a name="cors-max-age"></a>

L'elemento `MaxAgeSeconds` specifica l'intervallo di tempo in secondi durante il quale il browser può memorizzare nella cache la risposta a una richiesta preliminare identificata in base a risorsa, metodo HTTP e origine.

## Esempi di configurazioni CORS
<a name="cors-example-1"></a>

Anziché accedere a un sito Web utilizzando un endpoint del sito Web Amazon S3, è possibile utilizzare il proprio dominio, come `example1.com`, per consegnare il contenuto. Per informazioni sull'uso del proprio dominio, consulta [Tutorial: Configurazione di un sito Web statico utilizzando un dominio personalizzato registrato con Route 53](website-hosting-custom-domain-walkthrough.md). 

La configurazione CORS di esempio riportata di seguito include tre regole, specificate come elementi `CORSRule`:
+ La prima regola consente le richieste multiorigine PUT, POST e DELETE provenienti dall'origine `http://www.example1.com` La regole consente inoltre tutte le intestazioni in una richiesta OPTIONS preliminare tramite l'intestazione `Access-Control-Request-Headers`. In risposta alle richieste OPTIONS preliminari, Amazon S3 restituisce le intestazioni richieste.
+ La seconda regola consente le stesse richieste multiorigine della prima regola, ma si applica a un'altra origine, `http://www.example2.com`. 
+ La terza regola consente le richieste multiorigine GET provenienti da tutte le origini. Il carattere jolly `*` si riferisce a tutte le origini. 

------
#### [ JSON ]

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example1.com"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example2.com"
        ],
        "ExposeHeaders": []
    },
    {
        "AllowedHeaders": [],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]
```

------
#### [ XML ]

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example1.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>http://www.example2.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>
```

------

La configurazione CORS supporta anche i parametri di configurazione opzionali, come illustrato nella seguente configurazione CORS. In questo esempio la configurazione CORS consente le richieste multiorigine PUT, POST e DELETE provenienti dall'origine `http://www.example.com`.

------
#### [ JSON ]

```
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://www.example.com"
        ],
        "ExposeHeaders": [
            "x-amz-server-side-encryption",
            "x-amz-request-id",
            "x-amz-id-2"
        ],
        "MaxAgeSeconds": 3000
    }
]
```

------
#### [ XML ]

```
<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example.com</AllowedOrigin>
   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>
   <AllowedHeader>*</AllowedHeader>
  <MaxAgeSeconds>3000</MaxAgeSeconds>
  <ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
  <ExposeHeader>x-amz-request-id</ExposeHeader>
  <ExposeHeader>x-amz-id-2</ExposeHeader>
 </CORSRule>
</CORSConfiguration>
```

------

L'elemento `CORSRule` nella configurazione precedente include gli elementi opzionali riportati di seguito.
+ `MaxAgeSeconds` – Specifica l'intervallo di tempo in secondi (in questo esempio, 3000) durante il quale il browser memorizza nella cache una risposta Amazon S3 a una richiesta OPTIONS preliminare per la risorsa specificata. La memorizzazione nella cache della risposta consente al browser di non inviare richieste preliminari ad Amazon S3 se la richiesta originale viene ripetuta. 
+ `ExposeHeaders`—Identifica le intestazioni di risposta (in questo esempio, `x-amz-server-side-encryption``x-amz-request-id`, e`x-amz-id-2`) a cui i clienti possono accedere dalle loro applicazioni (ad esempio, da un oggetto). JavaScript `XMLHttpRequest`