Ipotizziamo di avere una web app (eseguita anche in locale) o sito che ha bisogno di acquisire dati (JSON o simili) da un altro sito/dominio e quindi di richiederli via Ajax (Jquery, XMLHTTPrequest, ecc.).

Spesso e volentieri (praticamente sempre) ci verrà tornato un errore simile al seguente (dal debugger di Chrome):

XMLHttpRequest cannot load http://xxxxxxxxxx.it/yyyyyy/app/v1/jsonGetNews.asp?user=00000&password=11111. Origin null is not allowed by Access-Control-Allow-Origin.

Questo messaggio deriva dal fatto che il server al quale viene fatta la richiesta considera i propri dati “privati” e quindi non ne permette la “distribuzione” se non ad un elenco di richiedenti predefinito.

Questo elenco di richiedenti al quale permettere una “condivisione di risorse con origini diverse” è definibile attraverso l’header “Access-Control-Allow-Origin”.

Impostando questo header con il valore “*” è possibile garantire l’accesso a quella risorsa indipendentemente dall’origine della richiesta.

Per approfondimenti: http://enable-cors.org/