Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

HTTP 506 (Variant Also Negotiates) means the server selected a representation that is itself configured to negotiate another representation. The selected resource is therefore not a terminal endpoint, so transparent content negotiation cannot complete. This is normally a server-side configuration error, not a problem that changing a browser’s Accept header will solve.

The status is defined by RFC 2295, Transparent Content Negotiation in HTTP, an Experimental RFC published in March 1998. It is unusual because transparent negotiation is rarely used; ordinary server-driven negotiation is more common.

What HTTP 506 means

HTTP status codes in the 500 range indicate that the server could not complete a request. The specific 506 condition belongs to transparent content negotiation (TCN), a protocol in which a URI can have multiple representations and the client and server cooperate to select the best one.

In a valid negotiation, selection ends at a concrete representation such as an HTML file, image, or other response body. A 506 occurs when the selected variant is not terminal: it contains negotiation metadata and tries to participate in negotiation again. That creates a recursive selection path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

RFC 2295 section 8.1 describes the sequence: after the origin server generates a response for the best variant, it checks whether that response contains a TCN header. If it does, the best variant is not a proper endpoint, and the server should generate a 506 response instead of continuing.

How content negotiation leads to the error

Server-driven negotiation

With ordinary server-driven negotiation, the client sends preferences such as Accept or Accept-Language. The server examines those headers and chooses one representation. Apache documents support for this common form of negotiation.

Transparent negotiation

TCN under RFC 2295 adds a variant list and related metadata so the client and server can participate in selection. Response headers can include TCN, Vary, and Alternates. The exact headers vary by implementation; they are not a requirement that every real 506 response have the same shape.

The failure pattern is the important part: the original URI selects a variant, but that variant points to a type map or another negotiable resource. Requesting the chosen variant therefore starts negotiation again instead of returning a final representation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

A concrete example

MDN illustrates the problem with a requested French variant that points to a type map. The type map itself performs transparent negotiation, so the French variant is effectively another negotiator rather than the final French document. A response in the example includes headers such as:

  • TCN: list, identifying transparent negotiation;
  • Vary: negotiate, accept-language, indicating negotiation-related inputs; and
  • an Alternates entry that points to a type map.

Treat that header set as an illustration, not a mandatory signature. A deployment can return 506 with different details, and an intermediary may add or remove headers.

Is a 506 caused by the browser or client?

Usually, no. The specified condition is an origin-server configuration error: the selected variant is configured to negotiate again. A client preference can influence which variant is selected, but it does not make a properly configured terminal variant become recursive.

Do not make changing Accept or Accept-Language your primary repair. Those headers are useful for reproducing the selection path and confirming which variant is chosen, but the durable fix is to correct the server’s variant or map configuration.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Diagnose a 506 response step by step

  1. Capture the complete response. Use a header-only request so you can see the status and negotiation metadata:
    curl -i https://www.example.com/resource

    Repeat with the same headers used by the failing client, for example:

    curl -i -H 'Accept-Language: fr' https://www.example.com/resource
  2. Confirm which layer generated it. Check the origin access log and, if present, reverse-proxy or CDN logs. A 506 identifies the negotiation error class, but the available evidence does not tell you whether the origin, proxy, or another layer emitted the response in your particular stack.
  3. Identify the selected variant. Follow the server’s mapping from the original URI to the representation selected for the request. Record the filename, URI, type map, and any internal rewrite involved.
  4. Inspect the selected resource. Look for a TCN header or equivalent setting showing that the selected resource can negotiate. The selected resource must be a terminal representation for this request.
  5. Inspect the map or negotiation rule. Verify that the original URI does not point to a type map whose target is another negotiable resource. In MDN’s example, the French target leads to a type map; that recursive relationship is the defect.
  6. Test each representation directly. Request the intended HTML, image, or other concrete file without the negotiating alias. If the direct resource succeeds while the negotiated URI returns 506, the mapping—not the content itself—is the likely fault.
  7. Retest with varied preferences. Try different Accept-Language or Accept values and compare logs. This helps reveal which branch selects the recursive variant, but do not treat a successful alternate language as a complete fix.

How to fix the configuration

Make the selected variant terminal

Change the map so each advertised variant resolves to a concrete representation that does not invoke transparent negotiation again. Remove negotiation metadata from a resource that is meant to be the final response, or point the map at the actual file rather than at another map.

Separate negotiable aliases from concrete files

Keep the URI used for selection distinct from the paths of the final files. This makes it harder for a rewrite, include, or alias to send the selector back through the negotiation mechanism.

Check generated and inherited configuration

Configuration can come from virtual-host files, directory-level overrides, included fragments, generated deployment files, or a reverse proxy. Search all applicable layers for the URI, type-map declaration, rewrite, and TCN-related setting. A change in one file may be overridden by a more specific rule.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Use implementation documentation, not a universal recipe

Apache’s Content Negotiation documentation for HTTP Server 2.5 trunk covers ordinary request-header negotiation and describes transparent negotiation as experimental. The page is trunk documentation, so do not assume every historical Apache release exposes identical directives or behavior. Other servers require their own configuration checks; RFC 2295 does not prescribe one vendor’s repair procedure.

Common symptoms and likely causes

Symptom What it suggests Next check
Every request for one URI returns 506 The URI’s mapping consistently selects a negotiable resource. Trace the default variant and its type map.
Only one language or media preference returns 506 One branch of the variant list points to a map or negotiable alias. Compare the selected targets for each preference.
Direct file URL works, negotiated URL fails The representation is valid; the selection configuration is recursive. Replace the map target with the direct file or remove the second negotiation layer.
Origin logs show success but the client sees 506 An intermediary may be generating or rewriting the response. Compare origin, proxy, and CDN status/header logs and bypass layers where possible.
Changing Accept makes the error disappear A different branch avoided the bad variant; the broken branch remains. Repair the faulty variant rather than relying on a client preference.

What HTTP 506 is not

  • It is not the normal response to an unsupported Accept header.
  • It is not a generic “content negotiation failed” code for every server-driven negotiation problem.
  • It is not proof that a browser, DNS provider, CDN, or proxy is at fault. The status narrows the problem to a negotiation configuration class; deployment logs identify the emitting layer.
  • It is not the same as HTTP 406 (Not Acceptable). A 406 concerns the server’s inability to supply an acceptable representation for the client’s stated preferences; a 506 concerns a selected variant that negotiates again.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Operational checks after the change

  1. Request the original URI with the default client headers.
  2. Repeat with every language and media preference your application supports.
  3. Verify that the response no longer carries an unexpected TCN marker on the terminal representation.
  4. Confirm that caches and intermediaries are not serving an earlier 506 response. Purge or wait for the applicable cache lifetime according to your deployment policy.
  5. Watch origin and intermediary logs for recurrence, especially after configuration generation or deployment automation runs.

Capturing a visual copy of the failing page

A screenshot can preserve what a user saw, but it does not replace header and server-log inspection. If you need a visual record of an error page for a ticket or regression comparison, capture it separately from the HTTP diagnosis.

Or skip the browser setup

ScreenshotNeo can request a URL and return a PNG, JPEG, WebP, or PDF. It is useful for preserving the rendered error page; use your logs or curl -i for the 506 headers. Before capture, it accepts cookie/consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and each response identifies the page verdict and billing status.

One request is enough (see the ScreenshotNeo API documentation):

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://www.example.com/resource -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://www.example.com/resource"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://www.example.com/resource' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Frequently Asked Questions

Does HTTP 506 require changing my client request headers?

No. Headers such as Accept-Language are useful for reproducing which variant is selected, but the documented defect is that the selected variant negotiates again. Correct the server-side mapping or negotiation configuration.

How is 506 different from 406 Not Acceptable?

A 406 means the server cannot provide a representation acceptable to the client’s preferences. A 506 means the server selected a variant that is itself configured to negotiate, so selection cannot terminate.

Is transparent content negotiation still widely used?

MDN describes it as rarely used, while server-driven negotiation is more common. No reliable adoption percentage is established here.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can a CDN be responsible for a 506?

The status alone cannot identify the emitting layer. Compare origin, reverse-proxy, and CDN logs to determine where the response was generated or altered.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.