Ves al contingut principal

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. 

image.png

image.png

Exemple:

Suposa que visites el domini http://www.sample.com i aquest intenta obtenir un objecte JSON de http://api.sample.com. Això generarà:

  1.  Una petició GET amb una capçalera header dirigida a http://api.sample.com que serà:
    • Origin: http://www.sample.com
  2. 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