HTTP Status Codes

HTTP 300 Multiple Choices

300
LowWeb ServerReference page

Multiple Choices — the request has more than one possible response representation

A 300 Multiple Choices response indicates that the target resource has more than one valid representation or destination, and the server is not selecting a single one automatically. It belongs to the 3xx family, but unlike a typical redirect, it describes choice rather than a fixed routing decision.

Visual summary

A quick reference view of how HTTP 300 presents multiple valid outcomes without collapsing the request to one automatic target.

HTTP 300 visual summary showing one request branching into several equally valid destination or representation choices
Visual summary: 300 means the server found several valid choices and leaves the next selection open instead of choosing one redirect destination automatically.

What 300 Means

The shortest useful reading of this status code.

Multiple Choices means the request has more than one possible response representation.

For 3xx responses, the useful distinction is that 300 presents alternatives instead of making one automatic redirect decision.

Quick read

Several valid representations

A 300 says the server found multiple possible outcomes and is not collapsing them to one automatic target.

Technical Context

How this status behaves without turning the page into a repair guide.

Representation choice

The useful distinction in 300 is that the request succeeded well enough for the server to identify the target resource family, but the server is intentionally not collapsing the result to a single representation. Instead of saying moved permanently or moved temporarily, it says there are multiple valid ways this resource could be resolved.

Redirect contrast

That makes 300 different from 301, 302, and 303. Those statuses point the client toward a specific next URL. A 300 leaves more selection logic open because the server is presenting alternatives rather than making the routing choice itself. For that reason, it is less common in everyday browsing than the more deterministic redirect codes.

Related HTTP Codes

Nearby HTTP status codes help clarify how 300 differs inside the same response family.

Common Causes

Resource is available in multiple formats or languages

The server has more than one valid representation and does not collapse the choice to one automatic outcome.

Negotiation rules do not produce one clear preferred representation

Content negotiation reaches several plausible variants without a single definitive winner.

Endpoint exposes several equally valid target resources

The response reflects alternate destinations or representations rather than one mandatory redirect path.

Typical Scenarios

01

A document exists in several language or media variants and the server exposes the available options

02

A resource can be delivered through different canonical endpoints without one automatic winner

03

A legacy negotiation setup returns several alternate locations instead of redirecting directly to one URL

What To Know

A 300 usually reflects representation choice or negotiation design, not an outage. The important reading is that the server found the resource family but did not reduce it to one automatic destination for the client.

Frequently Asked Questions

Common interpretation questions about HTTP 300.

A 301 or 302 points the client to one specific destination. A 300 says there are multiple valid choices and the server is not committing to one redirect target automatically.

Not very. Most modern sites prefer deterministic redirects or content negotiation logic that chooses one representation without exposing a 300 response to the user agent.