300 Multiple Choices

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

Browser support for this status code is far from being stellar. A server will either ignore this status code or include the Location header for the client to head straight there.

If you want a user to choose between redirects, the most bulletproof way would be to present them with a list of links (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).