300 Multiple Choices

The HTTP 300 status code means a server can redirect the client to more than one location based on the client’s choice.

This status code is rarely used, and the behavior among browsers is inconsistent. For example, upon encountering 300 Multiple Choices status code, Webkit-based browsers redirect you straight to the URL found in the Location header.

If you want a user to choose between redirects, the most bulletproof way would be to present them with a list of links (in HTML) to choose from. That would be in line with RFC as well:

[...] the server SHOULD generate a payload 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. [...] A specific format for automatic selection is not defined by this specification because HTTP tries to remain orthogonal to the definition of its payloads.

Interested in no-nonsense technical guides?

No spyware, no promotional emails, or keyword-stuffed junk. I will only send you a single email when I've got something interesting to say. Unsubscribe anytime.

You can also subscribe to the Atom feed (it's like RSS, but better).