Question Que signifie exactement HTTP / 1.1 302?


Un article que j'ai lu une fois a dit que cela signifiait sauter (d'une adresse URI à une autre), mais j'ai détecté ce "302" même s'il n'y avait pas du tout de saut!


81
2018-06-10 00:06


origine


Réponses:


Une redirection 302 signifie que la page a été temporairement déplacée, alors qu'un 301 signifie qu'elle a été déplacée de manière permanente.

301s sont bons pour la valeur SEO, tandis que 302 ne sont pas parce que 301s ordonnent aux clients d'oublier la valeur de l'URL d'origine, tandis que le 302 conserve la valeur de l'original et peut donc réduire la valeur en créant deux URL distinctes chacun produit le même contenu (les moteurs de recherche les considèrent comme des doublons distincts plutôt que comme une ressource unique à deux noms).


59
2018-06-10 00:10



Depuis juin 2014, le RFC 2616 est obsolète et ne doit plus être utilisé comme référence. le RFC 7231 est la référence actuelle pour la sémantique et le contenu du protocole HTTP / 1.1.

Une réponse avec 302 est un moyen courant d'effectuer la redirection d'URL. Avec le 302 code de statut, la réponse devrait inclure un Location en-tête avec un URI différent. Cet en-tête sera lu par l'agent utilisateur puis effectuera la redirection:


Redirection example


Les navigateurs Web peuvent changer de POST à GET dans la demande suivante. Si ce comportement est indésirable, le 307 Le code d'état (redirection temporaire) peut être utilisé à la place.

C'est comme ça que 302 le code d'état est défini dans le RFC 7231:

6.4.3. 302 trouvé

le 302 Le code d'état (trouvé) indique que la ressource cible      réside temporairement sous un URI différent. Depuis la redirection      peut être modifié à l'occasion, le client doit continuer à utiliser le      requête URI effective pour les demandes futures.

Le serveur DEVRAIT générer un Location champ d'en-tête dans la réponse      contenant une référence URI pour les différents URI. L'agent utilisateur PEUT      Utilisez le Location valeur de champ pour la redirection automatique. Le serveur      réponse utile contient généralement une courte note hypertexte avec un      lien hypertexte vers les différents URI.

Remarque: Pour des raisons historiques, un agent utilisateur PEUT modifier la demande         méthode de POST à GET pour la demande suivante. Si ce         le comportement est indésirable, le 307 Code d'état (redirection temporaire)         peut être utilisé à la place.

Selon Documents Web MDN de Mozilla, un cas d'utilisation typique pour 302 est:

La page Web n'est temporairement pas disponible pour des raisons qui n'ont pas été imprévues. De cette façon, les moteurs de recherche ne mettent pas à jour leurs liens.

Autres codes d'état pour la redirection

le RFC 7231 définit les codes d'état suivants pour la redirection:

  • 301 (Déplacé en permanence)
  • 302 (A trouvé)
  • 307 (Redirection temporaire)

le RFC 7238 a été créé pour définir un autre code de statut pour la redirection:

  • 308 (Redirection permanente)

Reportez-vous à ceci répondre pour plus de détails.


29
2017-08-15 10:38



Une façon simple de consulter les redirections HTTP 301 et 302 est la suivante:

Supposons que vous ayez un signet à "http://sample.com/sample". Vous utilisez un navigateur pour y aller.

Une redirection 302 vers une URL différente à ce stade signifie que vous devez conserver votre signet sur "http://sample.com/sample"C'est parce que l’URL de destination peut changer à l’avenir.

Une redirection 301 vers une URL différente signifierait que votre signet doit changer pour pointer vers la nouvelle URL car il s'agit d'une redirection permanente.


24
2018-06-10 00:18



De RFC 2616 (spécification du protocole de transfert hypertexte):

10.3.3 302 trouvés

   La ressource demandée réside temporairement sous un URI différent.
   Étant donné que la redirection pourrait être modifiée à l'occasion, le client DEVRAIT
   continuer à utiliser l'URI de demande pour les demandes futures. Cette réponse
   ne peut être mis en cache que s'il est indiqué par un en-tête Cache-Control ou Expires
   champ.

   L'URI temporaire DEVRAIT être donné par le champ Location dans le
   réponse. Sauf si la méthode de requête était HEAD, l'entité du
   réponse devrait contenir une courte note hypertexte avec un hyperlien vers
   le ou les nouveaux URI.

La source:

http://www.ietf.org/rfc/rfc2616.txt


10
2018-06-10 00:19



Selon le Définitions du code d'état http un 302 indique une redirection (temporaire). "La ressource demandée réside temporairement sous un autre URI"


5
2018-06-10 00:11



En terme de référencement, les 301 et 302 sont bons tous les deux, cela dépend de la situation,

Si une seule version peut être retournée (c’est-à-dire que l’autre redirige vers elle), c’est génial! Ce comportement est bénéfique car il réduit le contenu en double. Dans le cas particulier des redirections vers les URL de barre oblique, nos résultats de recherche afficheront probablement la version de l'URL avec le code de réponse 200 (le plus souvent l'URL de barre oblique) - que la redirection soit 301 ou 302.


5
2017-12-03 07:13



De Wikipédia:

Le code d'état de la réponse HTTP 302   Found est le moyen le plus courant de   effectuer une redirection. C'est un   exemple de pratique industrielle   en contradiction avec la norme.


4
2018-06-10 00:08