HTTP Status Code Reference

    HTTP Status Code Reference

    Every HTTP status code — 1xx to 5xx — with RFC 9110 citations and real-world examples

    Showing 54 of 54 codes · Sourced from RFC 9110 & IANA
    1xx Informational
    2xx Success
    3xx Redirection
    4xx Client Error
    5xx Server Error

    About the HTTP Status Code Reference

    Every network engineer and backend developer needs an HTTP status code cheat sheet. This one goes beyond the basics — each code includes its RFC, a plain-English description, and real-world usage examples where the semantics are subtle (401 vs 403, 301 vs 308, 422 vs 400). Full-text search catches what you don't know the number for.

    Features

    How it works

    1. Search by code, name, or description.
    2. Filter by status class.
    3. Click through to read descriptions, RFC citations, and examples.

    Use cases

    Frequently asked questions

    What's the difference between 401 and 403?

    +

    401 = you're not authenticated (or your credentials are wrong). 403 = you ARE authenticated, but this resource isn't for you. 'Unauthorized' is a misnomer — the original spec meant 'Unauthenticated'.

    When should I use 422 vs 400?

    +

    400 = request syntax broken (malformed JSON). 422 = syntax OK, semantics wrong (missing required field, invalid email format). 422 is less universally understood — use 400 if the distinction isn't critical.

    Is 418 I'm a teapot a real status code?

    +

    Yes, registered in RFC 2324 as an April Fools joke. Kept for nostalgia. Don't use in production.

    When should I return 301 vs 302 vs 307 vs 308?

    +

    301 = permanent (browsers + Google update bookmarks/rankings). 302 = temporary (don't update). 307 / 308 are the HTTP-method-preserving variants; 307 for temporary, 308 for permanent.

    What's the right code for rate limiting?

    +

    429 Too Many Requests (RFC 6585). Always include a Retry-After header so clients know when to retry.