CORS. Cross-origin resource sharing
CORS (Cross-origin resource sharing). És un mecanisme que permet sol·licitar recursos restringits, des d'una pàgina web d'un domini diferent del que ha servit el recurs.
Exemple:
Suposa que visites el domini http://www.sample.com i aquest intenta obtenir un objecte JSON de http://api.sample.com. Això generarà:
- Una petició GET amb una capçalera header dirigida a http://api.sample.com que serà:
- Origin: http://www.sample.com
- El servidor api.sample.com respondrà amb el camp header Access-Control-Allow-Origin permetent únicament les peticions des del propi web
- Access-Control-Allow-Origin: http://www.sample.com
- O podrà respondre amb la possibilitat que qualsevol domini s'hi pugui connectar
- Access-Control-Allow-Origin: *
- En cas que el servidor no respongui a la petició, es produirà un error i el recurs no serà tampoc accessible.
Addicionalment, el servidor http://api.sample.com podrà respondre quin tipus de VERBS (METHODS) accepta, això ho farà responent amb la capçalera:
Access-Control-Allow-Methods: PUT, DELETE
També és possible indicar quins camps de capçalera es consideraran vàlids en qualsevol petició via el camp:
Access-Control-Allow-Headers: Origin, Authorization
Aquesta informació serà servida per http://api.sample.com si rep una petició via el mètode OPTIONS