AES Encryption Explained: How It Works and Why It Matters
Jun 23, 2026
3xx Redirection
The 300 (Multiple Choices) status code indicates that the target resource has more than one representation and the user or user agent can choose a preferred one. The server may include a list of available representations in the response body. This is rarely used in practice — most servers choose one redirect target automatically.
If your API serves a document in both JSON and XML formats and the client does not specify a preference via Accept headers, you could return 300 Multiple Choices with links to each variant. In practice, most APIs default to one format and use content negotiation transparently.
HTTP/1.1 300 Multiple Choices
Content-Type: text/html
<html><body><ul>
<li><a href='report.json'>JSON</a></li>
<li><a href='report.xml'>XML</a></li>
<li><a href='report.csv'>CSV</a></li>
</ul></body></html>
Mistake: Using 300 instead of transparent content negotiation
Fix: Modern APIs should use content negotiation via Accept headers to automatically select the best representation, returning 200 OK with the chosen format. 300 forces the client to make a manual choice, which degrades user experience.
Blog
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026
Jun 23, 2026