Les différences entre les différents codes de redirection HTTP 3XX ne sont pas claires pour moi. Oui, j'ai lu les spécifications, mais il semble y avoir une certaine divergence entre la norme et la pratique réelle ici.
Le 301
code de redirection semble assez clair: cela signifie que la ressource a été déplacée de manière permanente vers un autre URI et que les demandes futures devraient utiliser cet URI.
Et le 307
code de redirection semble également clair: cela signifie que la redirection est temporaire et que les demandes futures devraient toujours utiliser l'URI d'origine.
Mais je ne peux pas dire quelle est la différence entre 302
et 303
, ni pourquoi l'un ou l'autre est vraiment différent de 301
. Il semble que 302
c'était à l'origine destiné à être une redirection temporaire , (comme 307
), mais en pratique, la plupart des navigateurs l'ont traité comme un 303
. Mais quelle est la différence entre a 303
et a 301
? Est-il 301
censé signifier que la redirection est plus permanente?
la source
La différence entre 303 et 307 est la suivante:
303 : Voir autre. La demande est reçue correctement, mais les résultats doivent être récupérés à l'aide d'un GET sur l'URL de redirection.
307 : Redirection temporaire. L'ensemble de la demande doit être redirigé vers la nouvelle URL. Toutes les données de publication doivent être republiées.
Notez que 302 était censé avoir le comportement de 307, mais la plupart des navigateurs l'ont implémenté comme le comportement de 303 (qui n'existaient pas tous les deux à l'époque). Par conséquent, ces deux nouveaux codes ont été introduits pour remplacer 302.
La différence entre 301 et 303:
301 : Le document est déplacé. Les demandes futures doivent utiliser la nouvelle URL. Cette URL est obsolète.
Remarque: soyez prudent avec ce code. Les navigateurs et les proxies ont tendance à appliquer une mise en cache très agressive, donc si vous répondez avec un 301, cela peut prendre un certain temps pour que quelqu'un revisite cette URL.
303 : La demande est reçue correctement. Toutes les demandes PUT sont traitées. Le document résultant peut être récupéré à partir de l'URL de redirection. La demande future doit toujours être envoyée à l'URL d'origine.
la source