Une vue d'ensemble de 301
, 302
y 307
El RFC 7231 qui est la référence actuelle pour la sémantique et le contenu du protocole HTTP/1.1, définit les éléments suivants 301
(Déplacé de façon permanente) et 302
(Found), qui permet de changer la méthode de requête de POST
a GET
. Cette spécification définit également le 307
(Redirection temporaire) qui ne permet pas de changer la méthode de requête de l'une à l'autre. POST
a GET
.
Voir plus de détails ci-dessous :
6.4.2. 301 Moved Permanently
El 301
(Moved Permanently) indique que la ressource cible a été supprimée. cible s'est vu attribuer un nouvel URI permanent et que toutes les futures référence à cette ressource doit utiliser l'un des URI ci-joints. [...]
Note : Pour des raisons historiques, un agent utilisateur PEUT changer la méthode de requête de POST
a GET
pour la demande suivante. Si ce comportement n'est pas souhaité, le 307
(Redirection temporaire) peut être utilisé à la place.
6.4.3. 302 Trouvé
El 302
Le code d'état (Found) indique que la ressource cible réside temporairement sous un autre URI. Comme la redirection peut être modifiée à l'occasion, le client doit continuer à utiliser l'URI de la demande effective. URI de demande effective pour les demandes futures. [...]
Note : Pour des raisons historiques, un agent utilisateur PEUT modifier la méthode de requête de POST
a GET
pour la demande suivante. Si ce comportement n'est pas souhaité, le 307
(Redirection temporaire) peut être utilisé à la place.
6.4.7. 307 Redirection temporaire
El 307
(Redirection temporaire) indique que la ressource cible se trouve réside temporairement sous un URI différent et que l'agent utilisateur NE DOIT PAS changer la méthode de demande s'il effectue une redirection automatique automatique vers cet URI. Comme la redirection peut changer dans le temps le client doit continuer à utiliser l'URI de demande effective d'origine original pour les demandes futures. [...]
Note : Ce code d'état est similaire à 302
(Found), sauf qu'il ne permet pas de changer la méthode de requête de POST
a GET
. Ce site ne définit pas de contrepartie équivalente pour 301
(Déplacé de façon permanente) ( RFC 7238 Cependant, le code de statut est défini comme suit 308
(Redirection permanente) à cette fin).
La nécessité de 308
El RFC 7238 a été créé pour définir le 308
(Redirection permanente), qui est similaire à l'adresse suivante 301
(Moved Permanently) mais ne permet pas de changer la méthode de requête de POST
a GET
.
El 308
est maintenant défini par le code d'état RFC 7538 (qui a rendu obsolète le RFC 7238 ).
3. 308 Redirection permanente
El 308
(Permanent Redirect) indique que la ressource cible a été redirigée vers un autre site. cible s'est vu attribuer un nouvel URI permanent et que toutes les futures référence à cette ressource doit utiliser l'un des URI joints. Les clients dotés de capacités d'édition de liens doivent automatiquement relier les références à l'URI de la demande effective vers une ou plusieurs des nouvelles références envoyées par le serveur, si possible. [...]
Note : Ce code d'état est similaire à 301
(Déplacé en permanence), sauf qu'il ne permet pas de changer la méthode de requête de POST
a GET
.
Se nous avons ce qui suit :
+-----------+-----------+
| Permanent | Temporary |
+------------------------------------------------------------+-----------+-----------+
| Allows changing the request method from POST to GET | 301 | 302 |
+------------------------------------------------------------+-----------+-----------+
| Doesn't allow changing the request method from POST to GET | 308 | 307 |
+------------------------------------------------------------+-----------+-----------+
Choisir le code d'état le plus approprié
Michael Kropat mettre en place un ensemble de diagrammes de décision qui aide à déterminer le meilleur code d'état pour chaque situation. Voir ce qui suit pour 2xx
y 3xx
codes d'état :
0 votes
Pas de code 308 dans tools.ietf.org/html/rfc2616 y tools.ietf.org/html/rfc6585 La question doit donc être adressée à l'inventeur de ce code non standard.
7 votes
Il existe une spécification RFC 7538, il s'agit donc d'un véritable code HTTP.
3 votes
Bien, tools.ietf.org/html/rfc7538 : Note : Ce code d'état est similaire au 301, sauf qu'il ne permet pas de changer la méthode de demande de POST à GET.
5 votes
N'utilisez pas la RFC 2616 comme référence. Elle a été rendue obsolète par les RFC 7230-35.