Est-il sûr d'utiliser le statut HTTP 308 Redirection permanente?

11

Est-il sûr d'utiliser le code d'état HTTP 308 Redirection permanente ( suggestion ) dans les réponses du serveur? Le problème avec 301 Déplacé de manière permanente est qu'il ne fonctionne qu'avec les requêtes GET (pour être juste: POST se transformera en GET qui n'est PAS une option).

Le code d'état est très récent dans le "temps RFC", que suggéreriez-vous?

Que ferait un navigateur s'il n'était pas au courant de 308? Trouverait-il l'emplacement et ferait-il 302?

burnersk
la source
Encore plus récent que vous ne le pensez; c'est un RFC maintenant .
Michael Hampton
1
Avez-vous lu la section Considérations de déploiement ?
Håkan Lindqvist
308 n'est pas une norme - c'est une proposition, toujours au stade expérimental. Les navigateurs devraient se rabattre sur une interprétation 300 de toute erreur 301-399 qu'ils ne comprennent pas spécifiquement.
Chris S
1
Dans quel scénario vous attendriez-vous à recevoir une demande POST envoyée directement à une URL obsolète?
Skyhawk
1
@Skyhawk: Je travaille avec des fonctionnalités hors ligne “de“ html5. Pour les commentaires ou la création de nouveaux messages, l'URL cible peut avoir changé en raison de la modification du message lui-même dans ses catégories.
burnersk

Réponses:

4

Bien que 308 soit désormais un standard ( https://tools.ietf.org/html/rfc7538 ), il n'est pas actuellement sécurisé [Modifier] (au 3 avril 2019), en particulier pour les applications de bureau, mais peut être presque sûr dans certains des régions spécifiques (par exemple l'Inde) ou pour des applications destinées aux tablettes et aux appareils mobiles.

Le manque de sécurité est dû au fait qu'IE 11 sur Windows 7 et 8.1 ne le prend pas en charge. Dans IE 11, le site semble simplement se bloquer. Heureusement, l'IE fourni avec Windows 10 le prend en charge, il s'agira donc simplement d'attendre que la population générale passe de Windows 7 (Win 7 vient juste d'être dépassé par Win 10 dans les statistiques d'utilisation mondiale, Win 8 est considérablement moins populaire que les deux) [Modifier] ou votre entreprise décide de ne plus la prendre en charge (ce que vous pouvez faire valoir à partir du 14 janvier 2020 lorsque Windows 7 perd même la prise en charge à long terme ).

Tous les autres navigateurs modernes le prennent en charge (Chrome, Firefox, Safari, Edge, Opera).

[Modifier] Statistiques d'utilisation de mars 2019 pour vous aider à prendre votre décision:

  • 36,52% des utilisateurs de bureau sont toujours sous Windows 7
  • 9,83% des utilisateurs de postes de travail étaient sur IE; comme Win10 a tellement poussé Edge, je suppose que la plupart de ces utilisateurs sont sur Win 7. Ref netmarketshare

Ainsi, une décision d'utiliser 308 affecterait probablement (mon estimation basée sur les statistiques ci-dessus) entre 5 et 9% des utilisateurs de bureau à partir de cette modification (3/4/2019). Si votre application est davantage orientée vers les tablettes / appareils mobiles, cette valeur sera considérablement inférieure. De même, si votre application est spécifiquement destinée au marché indien.

Vous pouvez tester si votre navigateur prend en charge les redirections 308 ici: https://webdbg.com/test/308/

monty
la source
Notez que cela est différent de 307. IE 11 sur Windows 7 prend en charge HTTP 307 sans problème. (Pourquoi?)
Franklin Yu
7

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

La proposition RFC 7538 bénéficie aujourd'hui d'un large soutien. C'est sur.

308 au lieu de 301. 307 au lieu de 302.

déplacer! = rediriger

Déplacer rappelle une adresse et / ou un fichier spécifique déplacé. La redirection est un nouvel emplacement ou une nouvelle adresse.

perroud
la source
1
Pour le moment (20 février 2018), il n'est pas encore sûr en raison du nombre de personnes sous Windows 7 utilisant IE 11 qui ne le prennent toujours pas en charge.
monty
@monty quel était ce nombre? Qu'est ce que c'est maintenant?
Robin Winslow
En mars 2019, 36,52% des utilisateurs de postes de travail étaient toujours sous Windows 7 et 9,83% des utilisateurs de postes de travail étaient sous IE.
monty
2

Pour terminer ceci: Non, il n'est pas sûr d'utiliser ce code d'état. Voir les commentaires pour plus de détails.

308 n'est pas une norme - c'est une proposition, toujours au stade expérimental. Les navigateurs devraient se rabattre sur une interprétation 300 de toute erreur 301-399 qu'ils ne comprennent pas spécifiquement.

Certains navigateurs échouent complètement sur ce code d'état.

burnersk
la source
1
Cette réponse est obsolète. Je crois que le RFC a été et est accepté pour une utilisation sur les navigateurs modernes developer.mozilla.org/en-US/docs/Web/HTTP/Status/308 . Cependant, si vous avez besoin de l'assistance d'anciens navigateurs, cela peut toujours être un problème!
Yahya Uddin
3
Il ne fonctionne pas dans IE11 sur Win8.1 et inférieur (il fonctionne sur Win10).
Bart Verkoeijen
tools.ietf.org/html/rfc7538 "The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect)" publié en avril 2015.
Patrick Mevzek