1. Web
  2. HTTP
  3. Reference
  4. HTTP-Antwortstatuscodes
  5. 506 Variant Also Negotiates

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

View in English Always switch to English

506 Variant Also Negotiates

Der HTTP-Statuscode 506 Variant Also Negotiates Serverfehler-Antwort wird während der Inhaltsverhandlung zurückgegeben, wenn es in dem Prozess der Ressourcenauswahl zu einer rekursiven Schleife kommt.

Agentengesteuerte Inhaltsverhandlung ermöglicht es einem Client und Server, gemeinsam die beste Variante einer Ressource zu bestimmen, wenn der Server mehrere Varianten hat. Ein Server sendet einen 506-Statuscode aufgrund von Server-Fehlkonfigurationen, die zu zirkulären Referenzen bei der Erstellung von Antworten führen.

Das Fehlen einer Standardisierung, wie Clients automatisch aus Antworten auswählen, und die zusätzlichen Round-Trips, die die Interaktion zwischen Client und Server verlangsamen, führen dazu, dass dieses Verfahren selten genutzt wird. Servergesteuerte Inhaltsverhandlung ist weit verbreiteter, wobei ein Server direkt die passendste Ressource für den Client basierend auf den Anfrage-Headern (Accept-Language, Accept, etc.) wählt.

Status

http
506 Variant Also Negotiates

Beispiele

Ressource mit Varianten

Im folgenden Beispiel fordert ein Client eine Seite in der fr Lokalisierung mit dem Accept-Language Header an. Dies kann mit curl durchgeführt werden:

bash
curl -H "Negotiate: trans" -H "Accept-Language: fr;" http://example.com/index

Dies erzeugt die folgende Anfrage:

http
GET /index HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
Negotiate: trans
Accept-Language: fr

Aufgrund einer Server-Fehlkonfiguration verweist die Variantenantwort für fr auf eine Type Map, die selbst zu einer transparenten Verhandlung führt. Der Server kann diesen Zustand durch das Vorhandensein eines TCN Headers in einer Auswahlantwort erkennen, bevor sie gesendet wird:

http
HTTP/1.1 506 Variant Also Negotiates
Date: 2024年7月22日 10:00:00 GMT
Server: Apache/2.4.41 (Unix)
Content-Type: text/html; charset=UTF-8
Content-Length: 233
TCN: list
Vary: negotiate,accept-language
Alternates: {"index.html.en" 1 {type text/html} {language en} {length 48}}, {"another-map.html.fr.map" 1 {type text/html} {language fr} {length 45}}}}
<html>
<head>
 <title>506 Variant Also Negotiates</title>
</head>
<body>
 <h1>Variant Also Negotiates</h1>
 <p>A variant for the requested resource is itself a negotiable resource. This indicates a configuration error.</p>
</body>
</html>

Spezifikationen

Spezifikation
RFC 2295
# section-8.1

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /