Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Reference
  4. HTTP-Antwortstatuscodes
  5. 300 Multiple Choices

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

300 Multiple Choices

Der HTTP-Statuscode300 Multiple ChoicesRedirection Response zeigt an, dass die Anfrage mehr als eine mögliche Antwort hat. Der User-Agent oder der Nutzer sollte eine davon auswählen.

Hinweis:Bei deragentengesteuerten Inhaltsverhandlung entscheiden ein Client und Server gemeinsam über die beste Variante einer Ressource, wenn der Server mehrere Varianten besitzt.Die meisten Clients haben keine Methode, um automatisch zwischen Antworten zu wählen, und die zusätzlichen Round-Trips verlangsamen die Interaktion zwischen Client und Server.Servergesteuerte Inhaltsverhandlung ist weitaus häufiger, bei der der Server die am besten geeignete Ressource für den Client basierend auf den Anfrage-Headern auswählt (Accept-Language,Accept, usw.).

Der Server sollte Inhalte in die Antwort aufnehmen, die eine Liste von Metadaten und URIs der Ressourcen enthalten, aus denen der Nutzer oder User-Agent wählen kann. Das Format des Inhalts ist implementierungsspezifisch, sollte aber vom User-Agent leicht geparst werden können (wie HTML oder JSON).

Wenn der Server eine bevorzugte Wahl hat, die der Client anfordern sollte, kann er diese in einemLocation-Header einschließen.

Status

http
300 Multiple Choices

Beispiele

300 Antwort mit Liste von Ressourcen

Das folgende Beispiel demonstriert einen Request-Response-Austausch zur Transparent Content Negotiation. Ein Apache-Server bietet mehrere Varianten einer Ressource an, definiert in einerType Map;index.html.en für eine Ressource in Englisch undindex.html.fr für eine französische Version:

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

EinNegotiate: trans Request-Header zeigt an, dass der Client TCN verwenden möchte, um eine Ressource auszuwählen. Aufgrund der schlechten Browserunterstützung für diesen Mechanismus muss stattdessen ein User-Agent wie curl verwendet werden:

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

Dies produziert die folgende Anfrage:

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

Wir erhalten eine300-Antwort mit Details zu verschiedenen Darstellungen der angeforderten Ressource:

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>Multiple Choices</h1>Available variants:<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>

Spezifikationen

Specification
HTTP Semantics
# status.300

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp