L'envoi d'informations avec une redirection HTTP que le navigateur doit envoyer à l'emplacement redirigé?

StackOverflow https://stackoverflow.com/questions/961907

Question

Est-ce possible .. Par exemple, imaginez que je réponds à une demande avec un 302 (ou 303), et j'informe le navigateur pour faire une demande à un endroit donné .. est-il un en-tête que je peux envoyer la HTTP 302, de sorte que la demande ultérieure du navigateur inclurait cet en-tête?

Je sais que je pouvais le faire avec l'en-tête de l'emplacement, comme dans redirect et préciser les informations contenues dans l'URL comme une chaîne de requête .. mais je me demande s'il y a une meilleure façon .. il semble que ce devrait être un scénario legit ..

« Contenu a été déplacé, allez ici .. oh et vous aurez envie de prendre avec vous pour donner à l'emplacement redirect »

Je devine un gros pas!

Merci d'avance.


Modifier

La raison est en ce qui concerne les modèles PRG, où vous avez une URL GET et url POST, étant donné que vous publiez des données et il est pas acceptable, le serveur vous redirige vers l'EEG, et fait un peu « magique » pour « envoyer des données » à cette GET, en utilisant l'état de session le plus souvent pour stocker une variable.

Cependant, cette peut répartition dans les scénarios où un grand nombre de ces demandes de PRG se produisent, ce n'est pas accordé un scénario commun et généralement personne n'a besoin inquiéter de ce .. mais si vous faire- vous aurez besoin d'un moyen d'identifier les demandes, cela peut être fait avec des paramètres de chaîne de requête envoyer dans le 302 .. de sorte qu'une entrée spécifique peut être mis en état de session selon cette demande.

La question concernait essayer de supprimer la « clé de la demande » de l'URL, et le rendre plus implicite .. les cookies « apparaissent » au travail, mais ils ne font que la fenêtre pour ups vis plus petite.

Ce serait génial de dire quand vous allez j'ai spécifié le « lieu », envoyer ces paramètres.


Modifier

Juste à noter, je ne suis pas essayer d'obtenir le navigateur d'envoyer des entêtes arbitraires à l'emplacement, mais s'il y a des têtes conçus pour laisser entendre le contexte de la demande (comme les paramètres querystring pourrait).

Était-ce utile?

La solution

Une réponse de redirection lui-même ne contient pas de données. Vous pouvez rediriger l'aide d'une URL avec des paramètres de la requête, mais le nouveau « emplacement » aurez besoin de savoir comment consommer ces paramètres.

Autres conseils

Non, ce n'est pas possible. Vous ne pouvez pas forcer le client à quelque chose. Vous ne pouvez dire « ce n'est pas le bon emplacement, mais essayez cet endroit à la place ». Mais ce n'est pas garanti que le client envoie la même requête ou d'une autre demande à ce nouvel emplacement. Et dire au client d'ajouter un champ d'en-tête spécifique à cette demande ultérieure au nouvel emplacement est pas possible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top