300 Multiple Choices

There are several versions of the resource and the client or user should choose one.

Code
300
Reason phrase
Multiple Choices
Class
3xx Redirection
Defined in
RFC 9110 section 15.4.1
Cacheable by default
Yes

What it means

Redirection: the client has to take another step, usually following a Location header, to complete the request.

Common causes. Rare: content negotiation with no clear best match.

What to do. Pick one of the options listed in the response.

How clients and crawlers treat it

Caching. Cacheable by default (RFC 9110 section 15.1). With no Cache-Control or Expires header, a cache may still store it and reuse it for a heuristic period, often 10% of the time since Last-Modified, so set Cache-Control explicitly if that is not what you want.

Example response

HTTP/1.1 300 Multiple Choices
Content-Type: text/plain; charset=utf-8

Multiple Choices

How to send 300

nginx
location /example {
    return 300;
}
PHP
http_response_code(300);
echo 'Multiple Choices';
exit;
Node.js
res.writeHead(300, { 'Content-Type': 'text/plain' });
res.end('Multiple Choices');
Python (Flask)
# in a view function
return 'Multiple Choices', 300

Change the paths to suit. In nginx, add_header needs always to apply to error responses.

Related codes

All status codes · All 3xx codes

Names and numbers from the IANA HTTP Status Code Registry. Google Search behaviour as documented by Google Search Central.