Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Reference
  4. HTTP response status codes
  5. 506 Variant Also Negotiates

506 Variant Also Negotiates

The HTTP506 Variant Also Negotiatesserver error response status code is returned during content negotiation when there is recursive loop in the process of selecting a resource.

Agent-driven content negotiation enables a client and server to collaboratively decide the best variant of a given resource when the server has multiple variants.A server sends a506 status code due to server misconfiguration that results in circular references when creating responses.

Lack of standardization of how clients automatically choose from responses, and the additional round-trips that slow down client-server interaction mean this mechanism is rarely used.Server-driven content negotiation is far more common, where a server directly chooses the most appropriate resource for the client based on the request headers (Accept-Language,Accept, etc.).

Status

http
506 Variant Also Negotiates

Examples

Resource with variants

In the following example, a client requests a page in thefr locale using theAccept-Language header.This can be performed using curl:

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

This produces the following request:

http
GET /index HTTP/1.1Host: example.comUser-Agent: curl/8.7.1Accept: */*Negotiate: transAccept-Language: fr

Due to server misconfiguration, the variant response forfr points to atype map which itself causes transparent negotiation to be performed.The server may detect this condition by the presence of aTCN header in a choice response before it is sent:

http
HTTP/1.1 506 Variant Also NegotiatesDate: Mon, 22 Jul 2024 10:00:00 GMTServer: Apache/2.4.41 (Unix)Content-Type: text/html; charset=UTF-8Content-Length: 233TCN: listVary: negotiate,accept-languageAlternates: {"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>

Specifications

Specification
RFC 2295
# section-8.1

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp