300 Multiple Choices
The requested resource has several representations and the client should choose one — the basis of agent-driven content negotiation.
What it means
300 Multiple Choices says the target has multiple representations (formats, languages, etc.) and the client or user should select one, often from a list in the body or a Link header. In practice it is rare; servers usually resolve negotiation themselves and return 200.
Why it matters
- It formalises agent-driven negotiation where the client, not the server, picks the representation.
Common mistakes
- Using 300 where server-driven negotiation (Accept headers + Vary) would be simpler and better supported.
How WebInspect checks this
- WebInspect reports the status, any Link header alternatives and the Vary header used for negotiation.