En-têtes HTTP personnalisés lors des redirections
Lors de la redirection vers une autre page en PHP, il peut être nécessaire d'inclure des en-têtes HTTP personnalisés dans le cadre du processus de redirection. La directive standard header("Location: http://...") ne fournit pas de méthode pour définir des en-têtes personnalisés.
Résoudre le problème
Malgré les réclamations au contraire, la définition d'en-têtes HTTP personnalisés ainsi qu'une redirection n'est pas possible en PHP ou dans tout autre langage. La raison en est la nature des redirections HTTP. Lorsqu'une redirection se produit, le client (navigateur) exécute la redirection en fonction de l'en-tête « Location » fourni par le serveur. Les en-têtes HTTP personnalisés font partie de la réponse à la demande de redirection, qui est envoyée une fois que le navigateur a déjà lancé la redirection.
Approches alternatives
Depuis la définition des en-têtes HTTP personnalisés pendant les redirections n’est pas réalisable, des approches alternatives sont nécessaires. Une option consiste à utiliser JavaScript et l'objet XMLHttpRequest pour effectuer une requête asynchrone vers la page cible avec les en-têtes personnalisés souhaités. Cela nécessite l'implémentation de CORS sur le serveur cible pour autoriser de telles requêtes.
Une autre option consiste à utiliser le code côté serveur pour interagir directement avec la page cible sans redirection. Cette approche implique d'envoyer une requête HTTP à la page cible, de définir les en-têtes HTTP personnalisés et de récupérer les données de réponse. La réponse peut ensuite être renvoyée au client dans un format personnalisé.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3