Technique présomptive de redirection avec des en-têtes personnalisés
À l'origine, l'intention était d'exploiter la fonction header() de PHP pour rediriger vers une page spécifique tout en transmettre simultanément des en-têtes HTTP personnalisés. Cependant, cette approche n'est pas réalisable.
Dévoiler l'impossibilité
Contrairement à la croyance populaire, il est impossible d'utiliser header() plusieurs fois pour obtenir le résultat souhaité. La raison de cette limitation réside dans le fait que ces en-têtes sont associés à la réponse de redirection, et non à la redirection elle-même. Ainsi, toute tentative de définition d'en-têtes personnalisés à l'aide de cette méthode sera vaine.
Une voie alternative : exploiter XMLHttpRequest et CORS
La solution unique pour demander à un navigateur d'émettre une requête HTTP avec un en-tête personnalisé consiste à utiliser l'objet XMLHttpRequest de Javascript et à implémenter CORS sur le serveur de destination. XMLHttpRequest possède la capacité de lancer des requêtes asynchrones avec des en-têtes personnalisés. Cependant, il est impératif de noter que cette méthode n'est viable que si le serveur cible autorise de telles requêtes ajax via l'implémentation CORS.
Exclusion de la redirection côté client
Il est important de souligner qu'une page Web ne peut pas définir d'en-têtes de requête HTTP à moins qu'elle n'initie une requête asynchrone via XMLHttpRequest. Par conséquent, la mise en œuvre de la redirection susmentionnée avec des en-têtes personnalisés côté client est également un objectif inaccessible.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!