Comment Access-Control-Allow-Origin-tête de travail?

Apparemment, j'ai complètement mal compris sa sémantique. J'ai pensé à quelque chose comme ceci:

  1. Un client télécharge le code javascript MyCode.js à partir de http://siteA - l'origine.
  2. L'en-tête de réponse de MyCode.js contient Access-Control-Allow-Origin: http://siteB, ce qui signifiait que je pensais MyCode.js été autorisé à faire de la croix-origine renvois vers le site B.
  3. Le client déclenche certaines fonctionnalités de MyCode.js qui, à son tour faire des demandes de http://siteB qui doit être fine, en dépit de la croix-de l'origine des demandes.

Bien, je suis dans l'erreur. Il ne fonctionne pas comme ça à tout. Donc, j'ai lu Cross-origin resource sharing et a tenté de lire Cross-Origin Resource sharing dans la recommandation du w3c

Une chose est sûr - je ne comprends toujours pas comment suis-je censé utiliser cet en-tête.

J'ai le plein contrôle de fois le site A et le site b. Comment puis-je activer le javascript code téléchargé à partir du site Un accès à des ressources sur le site B à l'aide de cet en-tête?

P. S.

Je ne veux pas utiliser JSONP.

  • Je ne suis pas sûr, mais je crois que le réglage de l'en-tête de cette façon vous code sur le site B pour aller chercher http://siteA/MyCode.js.
  • Mais comment??? Afin d'obtenir la valeur d'en-tête a chercher la ressource première, mais la ressource est de la croix-origine et donc ne devrait pas le navigateur de bloquer la demande en premier lieu?
  • Ce que vous avez décrit en fait ressemble à une autre pratique, Contenu de la Politique de Sécurité
  • Vous n'avez pas à aller chercher les ressources afin d'obtenir les en-têtes. L'en-TÊTE HTTP de la méthode sera de retour les en-têtes uniquement. Et dans le cas de la SCRO, un contrôle en amont est effectué en utilisant les OPTIONS HTTP méthode qui ne retourne pas le corps. apsillers réponse décrit ce bien stackoverflow.com/posts/10636765/revisions.
InformationsquelleAutor mark | 2012-05-17