Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. Codes de statut de réponse HTTP
  5. 300 Multiple Choices

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

300 Multiple Choices

Le code de statut deréponse de redirection HTTP300 Multiple Choices indique que la requête a plusieurs réponses possibles.L'agent utilisateur ou l'utilisateur·ice doit en choisir une.

Note :Lors de lanégociation de contenu pilotée par l'agent, un client et un serveur décident ensemble de la meilleure variante d'une ressource donnée lorsque le serveur possède plusieurs variantes.La plupart des clients n'ont pas de méthode pour choisir automatiquement parmi les réponses, et les allers-retours supplémentaires ralentissent l'interaction client-serveur.Lanégociation de contenu pilotée par le serveur est bien plus courante, le serveur choisissant la ressource la plus appropriée pour le client en fonction des en-têtes de la requête (Accept-Language,Accept, etc.).

Le serveur doit inclure dans la réponse un contenu contenant une liste de métadonnées de ressources et d'URI parmi lesquels l'utilisateur·ice ou l'agent utilisateur peut choisir.Le format du contenu dépend de l'implémentation, mais doit pouvoir être facilement analysé par l'agent utilisateur (comme du HTML ou du JSON).

Si le serveur a un choix préféré que le client doit demander, il peut l'indiquer dans un en-têteLocation.

Statut

http
300 Multiple Choices

Exemples

Réponse 300 avec liste de ressources

L'exemple suivant illustre un échange requête-réponse de négociation de contenu transparente.Un serveur Apache propose plusieurs variantes d'une ressource définie dans unecarte de types(angl.) ;index.html.en pour une ressource en anglais, etindex.html.fr pour une version française :

http
URI: index.html.enContent-Language: enURI: index.html.frContent-Language: fr

Un en-tête de requêteNegotiate: trans indique que le client souhaite utiliser TCN pour choisir une ressource.Le faible support de ce mécanisme par les navigateurs signifie qu'un agent utilisateur comme curl doit être utilisé à la place :

bash
curl -v -H "Negotiate: trans" http://localhost/index

Cela produit la requête suivante :

http
GET /index HTTP/1.1Host: localhostUser-Agent: curl/8.7.1Accept: */*Negotiate: trans

On reçoit une réponse300 avec les détails des différentes représentations de la ressource demandée :

http
HTTP/1.1 300 Multiple ChoicesDate: Fri, 30 Aug 2024 09:21:48 GMTServer: Apache/2.4.59 (Unix)Alternates: {"index.html.en" 1 {type text/html} {language en} {length 48}}, {"index.html.fr" 1 {type text/html} {language fr} {length 45}}Vary: negotiate,accept-languageTCN: listContent-Length: 419Content-Type: text/html; charset=iso-8859-1<html><head><title>300 Multiple Choices</title></head><body><h1>Choix multiples</h1>Variantes disponibles&nbsp;:<ul><li><a href="index.html.en">index.html.en</a> , type text/html, language en</li><li><a href="index.html.fr">index.html.fr</a> , type text/html, language fr</li></ul></body></html>

Spécifications

Specification
HTTP Semantics
# status.300

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp