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.