Overview

There's more than one possible responses, you'll need to choose one of them.

Takeaways

  1. The target resource has more than one representation, each with its own more specific identifier, and information about the alternatives is being provided so that the user (or user agent) can select a preferred representation by redirecting its request to one or more of those identifiers.
  2. The server desires that the user agent engage in reactive negotiation to select the most appropriate representation(s) for its needs.
  3. If the server has a preferred choice, the server should generate a Location header field containing a preferred choice's URI reference. The user agent may use the Location field value for automatic redirection.
Note

As there is no standardized way of choosing one of the responses, this response code is very rarely used.

The original proposal for the 300 status code defined the URI header field as providing a list of alternative representations, such that it would be usable for 200, 300, and 406 responses and be transferred in responses to the HEAD method.

However, lack of deployment and disagreement over syntax led to both URI and Alternates (a subsequent proposal) being dropped from this specification.

It is possible to communicate the list using a set of Link header fields, each with a relationship of "alternate", though deployment is a chicken-and-egg problem.

Information

The HTTP 300 Multiple Choices redirect status response code indicates that the request has more than one possible responses. The user-agent or the user should choose one of them. As there is no standardized way of choosing one of the responses, this response code is very rarely used.

If the server has a preferred choice, it should generate a Location header.

Related

Further Reading

Specification

300 Multiple Choices | The HTTP Working Group

300 Multiple Choices

MDN web docs

Location header field

MDN web docs