300 Multiple Choices
This is an educational reference page about HTTP 300 Multiple Choices. The page itself is served as 200 OK so it can be indexed as HTTP documentation.
Indicates multiple options for the resource from which the client may choose (via agent-driven content negotiation). For example, this code could be used to present multiple video format options, to list files with different filename extensions, or to suggest word-sense disambiguation.
Specification
Registered in the IANA HTTP Status Code Registry as Multiple Choices. Defined in RFC 9110, Section 15.4.1.
Header and content rules
What RFC 9110 says about a 300 response, quoted from the RFC.
- SHOULD (server; Location): Send Location with the preferred choice's URI reference. When: The server has a preferred choice. Table row
If the server has a preferred choice, the server SHOULD generate a Location header field containing a preferred choice's URI reference. RFC 9110 §15.4.1
- SHOULD (server; content): Send content listing the available representations and their URI references. When: Any request method except HEAD. Table row
For request methods other than HEAD, the server SHOULD generate content in the 300 response containing a list of representation metadata and URI reference(s) from which the user or user agent can choose the one most preferred. RFC 9110 §15.4.1
The same rules are in the response obligations table and its JSON.