web-dev-qa-db-fra.com

Utilisez 301 ou 303 pour rediriger http vers https

Je ne sais pas quel est le meilleur à utiliser pour mon site lors de la redirection de http vers https. Pour le moment, j'utilise IIS réécrit les règles pour faire la redirection. Les guides que j'ai lus sur la façon de procéder utilisent soit un 301 soit un 303. Et après avoir lu les 301 et 303 , Je ne sais toujours pas lequel est le meilleur à utiliser.

Ma compréhension est qu'ils sont à peu près similaires dans ce qu'ils font en ce qui concerne une redirection entre http et https.

Y a-t-il une différence et cela affectera-t-il le référencement d'une manière quelconque en utilisant l'un sur l'autre?

D'après les spécifications: 301

Le code d'état 301 (déplacé en permanence) indique que la cible
ressource a reçu un nouvel URI permanent et tout futur
les références à cette ressource doivent utiliser l'un des URI ci-joints.
Les clients ayant des capacités d'édition de liens doivent automatiquement relier les références à l'URI de demande effective à un ou plusieurs des nouveaux
références envoyées par le serveur, si possible.

Le serveur DEVRAIT générer un champ d'en-tête Location dans la réponse contenant une référence URI préférée pour le nouvel URI permanent. le
l'agent utilisateur PEUT utiliser la valeur du champ Emplacement pour
redirection. La charge utile de réponse du serveur contient généralement un court
note hypertexte avec un lien hypertexte vers les nouveaux URI.

  Note: For historical reasons, a user agent MAY change the request
  method from POST to GET for the subsequent request.  If this
  behavior is undesired, the 307 (Temporary Redirect) status code
  can be used instead.

Une réponse 301 peut être mise en cache par défaut; c'est-à-dire, sauf indication contraire
indiqué par la définition de la méthode ou les contrôles de cache explicites

303

Le code d'état 303 (Voir autre) indique que le serveur est
redirigeant l'agent utilisateur vers une ressource différente, comme indiqué par un URI dans le champ d'en-tête Location, qui est destiné à fournir un
réponse indirecte à la demande d'origine. Un agent utilisateur peut effectuer
une demande de récupération ciblant cet URI (une requête GET ou HEAD if
en utilisant HTTP), qui peut également être redirigé, et présenter le résultat final comme une réponse à la demande d'origine. Notez que le nouvel URI
dans le champ d'en-tête Emplacement n'est pas considéré comme équivalent à
URI de demande effective.

Ce code d'état est applicable à toute méthode HTTP. Il est principalement utilisé pour autoriser la sortie d'une action POST pour rediriger l'agent utilisateur
à une ressource sélectionnée, car cela fournit les informations
correspondant à la réponse POST sous une forme qui peut être séparément
identifié, mis en signet et mis en cache, indépendamment de l'original
demande.

Une réponse 303 à une demande GET indique que le serveur d'origine n'a pas de représentation de la ressource cible qui peut être
transféré par le serveur via HTTP. Cependant, le champ Emplacement
La valeur fait référence à une ressource descriptive de la cible
, de telle sorte que faire une demande de récupération sur cette autre ressource peut entraîner une représentation utile aux destinataires sans impliquer qu'elle représente la ressource cible d'origine. Notez que
réponses aux questions de ce qui peut être représenté, de ce
les représentations sont adéquates, et ce qui pourrait être une description utile
sont hors de portée de HTTP.

À l'exception des réponses à une demande HEAD, la représentation d'une réponse 303 doit contenir une courte note hypertexte avec un lien hypertexte vers
la même référence d'URI que celle fournie dans le champ d'en-tête Location.

20
garethb

Google dit:

Redirigez vos utilisateurs et moteurs de recherche vers la page ou la ressource HTTPS avec des redirections HTTP 301 côté serveur.

Je recommande de suivre les conseils de Google plutôt que d'essayer de mettre en œuvre une stratégie 303.

Source: https://support.google.com/webmasters/answer/6073543?hl=en

14
Chris Desrochers

Lorsque vous redirigez http vers https, vous voulez essentiellement conserver le "jus de lien" du point de vue du référencement.

Comme vous le savez peut-être, Google considère le nombre de backlinks d'un site pour le classement.

La principale différence entre la redirection 301 et 303 est essentiellement de savoir si elle passe le jus de liaison ou non. Il existe des différences techniques comme ce que vous avez mentionné, mais du point de vue du référencement, 301 est un meilleur choix.

Voici un article de blog qui montre comment 303 pourrait affecter le référencement de votre site. https://digitalreadymarketing.com/303-redirect-effect-seo/

Si vous souhaitez en savoir plus sur le contenu en double (http et https est un problème de contenu en double typique), consultez cet article. https://digitalreadymarketing.com/what-is-duplicate-content-how-to-find-solve-them/

3
Tony Hsieh