All HTTP status codes
3xx Redirection
RFC 9110

300 Multiple Choices

The request has more than one possible response and the user agent should choose one.

What it means

HTTP 300 indicates that the request has multiple valid responses (e.g., different file formats or languages) and the user or client must select one. Rarely used in practice.

When it's used

Content negotiation when the server cannot decide on the best representation, or when offering format alternatives.

Common causes
  • Resource available in multiple languages and Accept-Language did not specify
  • File available in multiple formats (PDF, HTML, EPUB)
  • Disambiguation pages
How to fix it
  • Prefer server-side content negotiation with 200 + Vary header
  • Return a list of options with Link headers
  • Almost always replaceable with explicit URLs
Example response
HTTP/1.1 300 Multiple Choices
Content-Type: text/html
Link: </doc.html>;rel=alternate, </doc.pdf>;rel=alternate
SEO impact

Avoid for SEO. Use 200 with canonical tag, or distinct URLs for each variant.