5 votes

IE8/9 AJAX/CORS (XDomainRequest) envoie un en-tête de référence (referer header)

J'utilise XDomainRequest dans IE8 & 9 pour envoyer des requêtes à un serveur. Avec XMLHttpRequests dans d'autres navigateurs, les deux Origin y Referer sont envoyés, et pourraient ressembler à ceci :

Origin: http://www.example.com
Referer: http://www.example.com/mypage/index.htm

Mais XDomainRequest n'envoie que l'origine (je ne vois donc pas l'URL d'appel complète). Existe-t-il un moyen de l'obliger à envoyer également le Referer ? J'essaie d'éviter de l'envoyer en tant que chaîne de requête ou paramètre POST.

Je sais que XDomainRequest n'autorise pas les en-têtes personnalisés, mais j'espère que, comme Referer est un en-tête standard, il pourrait y avoir un moyen de l'activer.

1voto

Evildonald Points 1777

L'un de mes co-développeurs a rencontré le problème suivant : le service CORS qu'il appelait nécessitait des en-têtes pour des raisons de "sécurité", mais IE ne pouvait pas envoyer d'en-têtes. Nous n'avons trouvé aucune solution au problème des en-têtes d'IE8/9 à part :

  1. Faire en sorte que le service ne nécessite pas d'en-tête
  2. Disposez d'un proxy qui ajoutera les en-têtes dont vous avez besoin à votre requête.

L'option 2 expliquée est la suivante : configurer un proxy web, qui acceptera l'appel sans en-tête. Il effectue ensuite l'appel CORS et ajoute l'en-tête à la requête. Il reçoit la charge utile et la transmet à votre demande.

Pour ce que ça vaut, nous j'ai choisi l'option 1 .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X