Signification
La ressource a plusieurs représentations (langue, format) et le client ou l'utilisateur doit en choisir une. Le serveur peut suggérer celle qu'il préfère via Location.
Causes courantes
- La négociation de contenu n'a pas pu choisir entre les variantes
- Un serveur liste des formats ou des langues alternatifs
Comment corriger
Côté client ou visiteur
Suivez Location s'il est présent, sinon choisissez parmi les liens proposés. Les navigateurs ne choisissent pas automatiquement.
Côté propriétaire du site ou de l’API
Préférez la négociation pilotée par le serveur (Accept, Accept-Language) et renvoyez 200 avec la meilleure correspondance ; 300 offre rarement la meilleure expérience.
Exemple de réponse
HTTP/1.1 300 Multiple Choices
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Link: </doc.en.html>; rel=alternate; hreflang=en
Link: </doc.de.html>; rel=alternate; hreflang=de
Content-Length: 0 Spécification
FAQ
› Les navigateurs suivent-ils un 300 automatiquement ?
Certains suivent l'en-tête Location s'il existe ; sinon l'utilisateur voit le corps de la page avec les choix.
› 300 convient-il aux sites multilingues ?
En général non. Redirigez avec 302 ou servez la bonne langue avec des liens hreflang.