HTTP

HTTP 499 Client Closed Request vs 506 Variant Also Negotiates

HTTP 499 (Client Closed Request) is a 4xx Client Error response, while 506 (Variant Also Negotiates) is a 5xx Server Error response. 499 indicates that a non-standard status code used by Nginx when the client closes the connection before the server responds. In contrast, 506 means that the server has an internal configuration error: the chosen variant resource is configured to engage in content negotiation itself.

Description

A non-standard status code used by Nginx when the client closes the connection before the server responds.

When You See It

In Nginx logs when clients timeout or navigate away before receiving the response.

How to Fix

Optimize server response times. Check for slow upstream services.

Description

The server has an internal configuration error: the chosen variant resource is configured to engage in content negotiation itself.

When You See It

Rare. Indicates a misconfigured server-side content negotiation loop.

How to Fix

Fix the server's content negotiation configuration.

Key Differences

1.

499 is a 4xx Client Error response, while 506 is a 5xx Server Error response.

2.

HTTP 499: A non-standard status code used by Nginx when the client closes the connection before the server responds.

3.

HTTP 506: The server has an internal configuration error: the chosen variant resource is configured to engage in content negotiation itself.

4.

You encounter 499 when in Nginx logs when clients timeout or navigate away before receiving the response.

5.

You encounter 506 when rare. Indicates a misconfigured server-side content negotiation loop.

When to Use Which

For 499 (Client Closed Request): Optimize server response times. Check for slow upstream services. For 506 (Variant Also Negotiates): Fix the server's content negotiation configuration.

Learn More