Question

J'ai lu plusieurs documents sur le fond des différents redirection HTTP codes d'état, mais those've tous été très centrée sur le référencement. J'ai maintenant un problème où les moteurs de recherche ne prennent pas en compte, parce que la partie du site en question n'est pas public.

Cependant, nous ne voulons notre site soit aussi précis / utiles avec les méta-données que possible, en particulier pour des raisons d'accessibilité.

Maintenant, notre application prend des liens externes fournis par des tiers et les achemine à travers une page anti-usurpation d'identité avec un avertissement. Depuis cette page de redirection peut effectivement être également intégré via un appel Ajax dans certaines constellations, nous voulons aussi dépouiller tous les paramètres de la requête de la referer (à des fins de confidentialité, le site cible n'a pas à trouver sur quelle page interne l'utilisateur était avant) .

Pour ce faire, le bouton de confirmation déclenche un script côté serveur qui réoriente à son tour (plutôt que d'ouvrir seulement la page pour l'utilisateur).

Tant et si bien que la raison pour laquelle notre page d'avertissement anti-usurpation d'identité finit par déclencher une redirection.

La question est:

Est-il effectivement une différence qui le code d'état-je utiliser? Est-ce que les navigateurs non typiques (par exemple les lecteurs d'écran) soins? Si oui, quelle est la meilleure pratique pour les réoriente? Le plus sémantiquement, si vous le fera? Ils semblent tous différents degrés de mauvaise foi pour moi.

Je pense à 302 - mais comme il n'a pas de sens d'essayer de signet la page (il est protégé avec un jeton CRSF), donc il n'y a probablement pas de mal à une 301, que ce soit, est-il? Je me demande s'il y a une raison pour moi de préférer l'un sur l'autre.

Était-ce utile?

La solution

Hmm. Voici la liste 301 semble bien (Souligné par l'auteur).

  

La ressource demandée a été attribué un nouvel URI permanent et toute référence future à cette ressource doit utiliser l'un des retour URIs . Les clients ayant des capacités d'édition de lien doit automatiquement des références re-lien à la demande-URI à un ou plusieurs des nouvelles références retournées par le serveur, si possible.

302 ne correspond pas n mon avis:

  

La ressource demandée réside temporairement dans un autre URI

Cependant, mon préféré est 303 see other:

  

La réponse à la demande peut être trouvé sous un autre URI et doit être récupéré à l'aide d'une méthode GET sur cette ressource . Cette méthode existe principalement pour permettre la sortie d'un script activé POST pour rediriger l'agent utilisateur à une ressource sélectionnée. La nouvelle URI n'est pas une référence de remplacement pour la ressource demandée initialement.

Mais cela pourrait être si rare (je ne l'ai jamais vu utilisé dans la nature) que certains clients ne peuvent pas le comprendre - ce qui rendrait votre désir sans objet compatibilité maximale. 301 est sans doute le plus proche choix.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top