CORS

È l'acronimo di "Cross-Origin Resource Sharing". CORS consente agli script nelle pagine web di richiedere risorse da altri domini. La maggior parte dei browser web blocca per impostazione predefinita questi tipi di richieste per motivi di sicurezza.

Una pagina web può richiedere risorse da un altro dominio, purché le richieste provengano dall'HTML. Ad esempio, la sezione <head> può fare riferimento a risorse come file CSS, font e file JS di altri domini. Tra gli esempi ci sono gli script di Google Analytics, le librerie jQuery e i font ospitati su un altro server. Allo stesso modo, la sezione <body> può richiedere immagini da una CDN o da un altro dominio. Le richieste di risorse cross-origin nell'HTML non richiedono autorizzazioni CORS.

Quando un elemento script o iframe effettua una richiesta cross-origin, è necessario CORS. Ad esempio, un metodo AJAX — che viene eseguito dopo il caricamento della pagina — non può richiedere una risorsa da un altro dominio. CORS annulla questa impostazione predefinita del browser e consente di completare la richiesta.

CORS viene implementato utilizzando intestazioni HTTP di "controllo degli accessi". L'amministratore di un server può aggiungere o modificare le intestazioni della risposta, che vengono inviate al browser del client quando si accede a una pagina web. Queste impostazioni, applicabili ai server Apache e IIS, possono essere specifiche del sito o dell'intero server. Di seguito sono riportate alcune intestazioni comuni delle richieste e delle risposte:

Intestazioni delle richieste CORS:

  • Origin
  • Access-Control-Request-Method
  • Access-Control-Request-Headers

Intestazioni delle risposte CORS:

  • Access-Control-Allow-Origin
  • Access-Control-Allow-Methods
  • Access-Control-Expose-Headers

Esempio di CORS

Se uno script su techterms.com richiede una risorsa da sharpened.com utilizzando un'azione GET, può inviare le seguenti intestazioni della richiesta:

Origin: https://techterms.com
Access-Control-Request-Method: GET

Per consentire la richiesta, sharpened.com può rispondere con le seguenti intestazioni:

Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET

Access-Control-Allow-Origin può essere impostata su domini specifici o su un carattere jolly utilizzando un asterisco (*). L'impostazione con carattere jolly consente richieste di risorse cross-origin da tutti i domini, il che può rappresentare un rischio per la sicurezza. Access-Control-Allow-Methods può essere impostata su PUT, POST, DELETE e altri metodi, inclusa un'impostazione con carattere jolly (*) che consente tutti i metodi.

Aggiornato November 3, 2020 da Per C.

quizMetti alla prova le tue conoscenze

WAMP stands for Windows, Apache, MySQL, and ____?

A
Perl
0%
B
PHP
0%
C
Python
0%
D
Pascal
0%
Correct! Incorrect!     View the WAMP definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di CORS in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.