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à.
Cross-origin supporto per la condivisione delle risorse e Amazon EC2
L'API Amazon EC2 supporta la condivisione di risorse tra origini diverse (CORS). CORS definisce un modo per le applicazioni Web client caricate in un dominio di interagire con le risorse di un dominio diverso. Per ulteriori informazioni, consultate la Raccomandazione del W3C sulla condivisione Cross-Origin delle risorsemywebsite.example.com Normalmente, un browser JavaScript impedisce di consentire queste richieste, ma con CORS puoi effettuare chiamate API Amazon EC2 da più origini. mywebsite.example.com
CORS è già abilitato per l'API Amazon EC2 ed è pronto per l'uso. Non è necessario eseguire alcuna procedura di configurazione aggiuntiva per iniziare a utilizzare questa funzionalità. Non vi è alcuna modifica al modo in cui effettui le chiamate all'API Amazon EC2; devono comunque essere firmate con AWS credenziali valide per garantire AWS l'autenticazione del richiedente. Per ulteriori informazioni, consulta Signing AWS API request nella IAM User Guide.
L'implementazione di CORS nell'API Amazon EC2 è standardizzata. L'applicazione può inviare una semplice richiesta all'API Amazon EC2 o, a seconda del contenuto della richiesta, una richiesta di preflight seguita da una richiesta effettiva. Amazon EC2 consente la richiesta da qualsiasi origine
Per ulteriori informazioni su CORS ed esempi di come funziona, consulta il seguente articolo sul Mozilla Developer Network: HTTP access control (
Richieste semplici
Di seguito sono riportati i criteri che definiscono una richiesta semplice o effettiva:
-
Le richieste utilizzano solo i metodi
GEToPOSTHTTP. Se viene utilizzato ilPOSTmetodo,Content-Typepuò essere solo uno dei seguenti:application/x-www-form-urlencoded,multipart/form-data, otext/plain. -
Le richieste non impostano intestazioni personalizzate, ad esempio
X-Other-Header.
Amazon EC2 consente la richiesta da qualsiasi origine. Qualsiasi POST richiesta GET o richiesta che tenti di utilizzare le credenziali del browser impostando il Access-Control-Allow-Credentials valore su true (doveXMLHttpRequest.withCredentials = true) avrà esito negativo.
Le seguenti informazioni descrivono le intestazioni delle richieste ad Amazon EC2:
Valori semplici dell'intestazione della richiesta
Origin: specifica il dominio che desidera accedere alla risorsa (in questo caso, la risorsa è Amazon EC2). Viene inserito dal browser in una richiesta multiorigine.
Le seguenti informazioni descrivono le intestazioni di risposta che Amazon EC2 restituisce (o non restituisce) dopo una richiesta semplice o effettiva:
Valori di intestazione di risposta semplici
-
Access-Control-Allow-Origin: specifica il dominio che può accedere alla risorsa (in questo caso, la risorsa è Amazon EC2). Viene sempre restituito con un valore *. Pertanto, Amazon EC2 consente qualsiasi origine tra domini e non consente mai credenziali del browser, come i cookie. -
Access-Control-Allow-Credentials: indica se le credenziali del browser possono essere utilizzate per effettuare la richiesta effettiva. Questo non viene mai restituito. Pertanto, il browser dovrebbe interpretare il valore comeAccess-Control-Allow-Credentials: false.
Richieste di preflight
Se il contenuto della richiesta soddisfa i criteri seguenti, viene verificato se la richiesta effettiva debba essere inviata. Una richiesta di preflight invia innanzitutto una richiesta HTTP alla risorsa (in questo caso, Amazon EC2) utilizzando OPTIONS il metodo.
Di seguito sono riportati i criteri che definiscono una richiesta di preflight:
-
Le richieste utilizzano metodi HTTP diversi da
GEToPOST. Tuttavia, se viene utilizzato ilPOSTmetodo, nonContent-Typeè uno dei seguenti:application/x-www-form-urlencodedmultipart/form-data, otext/plain. -
Le richieste impostano intestazioni personalizzate,
X-Other-Headerad esempio.
L'implementazione di Amazon EC2 CORS consente qualsiasi intestazione e consente qualsiasi origine nella richiesta effettiva.
Le seguenti informazioni descrivono le intestazioni di richiesta per una richiesta di preflight verso Amazon EC2:
Valori dell'intestazione della richiesta di preflight
-
Origin: specifica il dominio che desidera accedere alla risorsa (in questo caso, la risorsa è Amazon EC2). Viene inserito dal browser in una richiesta multiorigine. -
Access-Control-Request-Method: Il metodo HTTP da utilizzare nella richiesta effettiva dal browser. -
Access-Control-Request-Headers: Le intestazioni personalizzate da inviare nell'effettiva richiesta multiorigine.
Le seguenti informazioni riguardano le intestazioni di risposta che Amazon EC2 restituisce (o non restituisce) dopo una richiesta di preflight:
Valori dell'intestazione della risposta Preflight
-
Access-Control-Allow-Origin: specifica il dominio che può accedere alla risorsa (in questo caso, la risorsa è Amazon EC2). Viene sempre restituito con un valore *. Pertanto, Amazon EC2 consente qualsiasi origine tra domini e non consente mai credenziali del browser, come i cookie. -
Access-Control-Allow-Credentials: indica se le credenziali del browser possono essere utilizzate per effettuare la richiesta effettiva. Questo non viene mai restituito da Amazon EC2. Pertanto, il browser dovrebbe interpretare il valore comeAccess-Control-Allow-Credentials: false. -
Access-Control-Expose-Headers: consente l'esposizione delle intestazioni al browser. Questo non viene mai restituito da Amazon EC2. Pertanto, nessuna intestazione di ritorno da Amazon EC2 può essere letta dal dominio richiedente. -
Access-Control-Max-Age: specifica per quanto tempo i risultati della richiesta di preflight possono essere memorizzati nella cache. Il valore è impostato su 1800 secondi (30 minuti). -
Access-Control-Allow-Methods: indica quali metodi sono consentiti quando si effettua una richiesta effettiva. Sono consentiti i seguenti metodi:GETPOST,OPTIONS,DELETE, ePUT. Ciò dipende anche dal modo in cui si chiama l'API Amazon EC2, ad esempio utilizzando l'API Query o REST. -
Access-Control-Allow-Headers: Indica quali intestazioni possono essere utilizzate nella richiesta effettiva. Amazon EC2 accetta qualsiasi intestazione nelle richieste di preflight. Se le intestazioni HTTP non sono rilevanti nella richiesta effettiva, vengono ignorate.