3xx
300 Multiple Choices
The request has multiple possible responses and the client must choose one.
What is HTTP 300?
This status code indicates that the requested resource has multiple representations available, each with its own specific location, and the client or user should select a preferred one. The server may include a list of the available options in the response body or via the Link header. In practice this code is rarely used; most servers choose a default representation and redirect to it instead.
Defined in RFC 9110
Common Causes
- A resource is available in multiple formats such as HTML, JSON, or XML
- Content negotiation failed to determine a single best representation
- A URL maps to multiple language versions and the server cannot auto-select one
How to Fix
- Choose the most appropriate representation from the list provided in the response
- Set proper Accept headers to help the server pick the right format automatically
- If you control the server, configure default content negotiation to avoid ambiguity