Quelle est la différence entre les codes HTTP 301
et les 308
codes d'état?
301
(Déplacé de façon permanente): Cette demande et toutes les demandes futures doivent être dirigées vers l'URI donné.308
(Redirection permanente): La demande et toutes les demandes futures doivent être répétées en utilisant un autre URI.
Ils semblent similaires.
http
http-status-code-301
http-status-codes
http-status-code-308
Alexandre Drobyshevsky
la source
la source
Réponses:
Un aperçu de
301
,302
et307
La RFC 7231 , la référence actuelle pour la sémantique et le contenu du protocole HTTP / 1.1, définit le code d'état
301
(déplacé de façon permanente) et302
(trouvé), qui permet de changer la méthode de demande dePOST
àGET
. Cette spécification définit également le307
code d'état (Redirection temporaire) qui ne permet pas de changer la méthode de demande dePOST
enGET
.Voir plus de détails ci-dessous:
Le besoin de
308
La RFC 7238 a été créée pour définir le
308
code de statut (Redirection permanente), qui est similaire à301
(Déplacé de manière permanente) mais ne permet pas de changer la méthode de demande dePOST
àGET
.Le
308
code d'état est maintenant défini par la RFC 7538 (qui a rendu obsolète la RFC 7238 ).Nous avons les éléments suivants:
Choisir le code de statut le plus approprié
Michael Kropat a rassemblé un ensemble de tableaux de décision qui aident à déterminer le meilleur code de statut pour chaque situation. Consultez les informations suivantes pour les codes d'état
2xx
et3xx
:la source
POST
deGET
» ? Cela signifierait-il qu'un formulaire posté ne peut pas être traité, mais qu'un nouveau formulaire pourrait être mis en service puis posté lors d'une prochaine demande?POST
demande (sûre) à être changée en un toGET
(dangereux dans la mesure où les données sont transmises en l'ajoutant à l'URL - et les URL peuvent être enregistrées - y compris les mots de passe) peut être un problème de sécurité et doit généralement être évité, à moins que vous ne sachiez qu'il est prudent de le modifier. De nos jours, il semble qu'il soit généralement pris en charge et qu'il préfère utiliser 307, 308 plutôt que 301, 302. Mais vous devez vérifier.308
est comme un infini latéral, donc Redirection permanente, et ne changez jamais la méthode de demande - c'est aussi un type de demande permanent et fixe. Ensuite, se307
trouve l'1
étape ci-dessous - Méthode de demande permanente / de conservation (Get / Post), mais redirection vers un emplacement temporaire: 7 - ressemble à "virage à gauche" ou détour temporaire, et 7 est également similaire à k, alors "gardez" le méthode de demande.