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