Logo
DevUtilsAll-in-one toolkit
Back to all codes
3003xx
3xx — Redirection

Multiple Choices

Indicates multiple options for the resource from which the client may choose.

What it means

The HTTP 300 Multiple Choices redirect status response code indicates that the request has more than one possible response. The user-agent or user should choose one of them. (There is no standardized way of choosing one of the responses, but HTML links to the possibilities are recommended so the user can pick.)

How it works

  • 1The client requests a resource that has multiple formats, languages, or alternatives.
  • 2The server returns a 300 response with a list of choices, typically formatted as an HTML list of links in the body.
  • 3The client (or user) selects the desired alternative and makes a new request to that specific URI.

Why you're seeing this

  • The server could not automatically determine which version of the resource to serve.

How to fix it

  • Clients should either parse the response body to select an option, or send appropriate `Accept` or `Accept-Language` headers in the initial request.

Framework Implementations

Express.js

app.get('/file', (req, res) => {
  res.status(300).send('<ul><li><a href="/file.pdf">PDF</a></li><li><a href="/file.txt">TXT</a></li></ul>');
});

Real-Life Scenarios

Use this when a resource exists in multiple formats (e.g., video in MP4 and WebM) or multiple languages, and the client didn't specify a preference via Accept headers.

Content Negotiation Fallback

A user requests a document at /manual. The server has /manual.en, /manual.fr, and /manual.es. It returns a 300 with links to all three.

HTTP Transaction

1. Client Request

GET /video-download HTTP/1.1
Host: site.com

2. Server Response

HTTP/1.1 300 Multiple Choices
Content-Type: text/html

<ul>
  <li><a href="/video.mp4">MP4 Format</a></li>
  <li><a href="/video.webm">WebM Format</a></li>
</ul>

SEO Implications

Search engines usually do not follow 300 choices automatically. It's better to use 301 redirects to canonical versions.

Related Codes