host.tools

HTTP status code reference

Reference /api/v1/utility/http-status

Quick reference for every HTTP status — 100 to 599. RFC reference + safe to retry.

Try: 200 443 AS13335
Related: ASN lookup
Result
Raw JSON
API / curl
0 ms · live
{
    "count": 37,
    "codes": {
        "100": {
            "phrase": "Continue",
            "class": "1xx informational",
            "rfc": "RFC 7231",
            "desc": "Server received the request headers; client should send the body."
        },
        "101": {
            "phrase": "Switching Protocols",
            "class": "1xx informational",
            "rfc": "RFC 7231",
            "desc": "Server is switching protocols (e.g., to WebSocket) per Upgrade header."
        },
        "103": {
            "phrase": "Early Hints",
            "class": "1xx informational",
            "rfc": "RFC 8297",
            "desc": "Hint at resources to preload before the final response is ready."
        },
        "200": {
            "phrase": "OK",
            "class": "2xx success",
            "rfc": "RFC 7231",
            "desc": "Standard success response. Body is the requested resource."
        },
        "201": {
            "phrase": "Created",
            "class": "2xx success",
            "rfc": "RFC 7231",
            "desc": "Resource created. Location header points to it."
        },
        "202": {
            "phrase": "Accepted",
            "class": "2xx success",
            "rfc": "RFC 7231",
            "desc": "Request accepted but not yet acted on."
        },
        "204": {
            "phrase": "No Content",
            "class": "2xx success",
            "rfc": "RFC 7231",
            "desc": "Successful, but no body to return."
        },
        "206": {
            "phrase": "Partial Content",
            "class": "2xx success",
            "rfc": "RFC 7233",
            "desc": "Range request fulfilled."
        },
        "301": {
            "phrase": "Moved Permanently",
            "class": "3xx redirection",
            "rfc": "RFC 7231",
            "desc": "Resource moved. Update bookmarks. Method may change to GET."
        },
        "302": {
            "phrase": "Found",
            "class": "3xx redirection",
            "rfc": "RFC 7231",
            "desc": "Temporary redirect. Use 307 for stricter semantics."
        },
        "303": {
            "phrase": "See Other",
            "class": "3xx redirection",
            "rfc": "RFC 7231",
            "desc": "Redirect after POST \u2192 GET. Strict."
        },
        "304": {
            "phrase": "Not Modified",
            "class": "3xx redirection",
            "rfc": "RFC 7232",
            "desc": "Cached copy is still valid (If-None-Match / If-Modified-Since matched)."
        },
        "307": {
            "phrase": "Temporary Redirect",
            "class": "3xx redirection",
            "rfc": "RFC 7231",
            "desc": "Like 302 but method must be preserved."
        },
        "308": {
            "phrase": "Permanent Redirect",
            "class": "3xx redirection",
            "rfc": "RFC 7538",
            "desc": "Like 301 but method must be preserved."
        },
        "400": {
            "phrase": "Bad Request",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Malformed request \u2014 syntax, size, framing."
        },
        "401": {
            "phrase": "Unauthorized",
            "class": "4xx client error",
            "rfc": "RFC 7235",
            "desc": "Auth required (or failed). Includes WWW-Authenticate header."
        },
        "403": {
            "phrase": "Forbidden",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Auth identity is known but not allowed."
        },
        "404": {
            "phrase": "Not Found",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "No resource at this URL."
        },
        "405": {
            "phrase": "Method Not Allowed",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "URL exists but does not support this method."
        },
        "406": {
            "phrase": "Not Acceptable",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Server can't produce a representation matching Accept headers."
        },
        "408": {
            "phrase": "Request Timeout",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Client took too long. Safe to retry."
        },
        "409": {
            "phrase": "Conflict",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Resource state conflict \u2014 retry after resolving."
        },
        "410": {
            "phrase": "Gone",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Permanently removed; remove from caches."
        },
        "413": {
            "phrase": "Payload Too Large",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Body exceeds server's limit."
        },
        "414": {
            "phrase": "URI Too Long",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "URL exceeds server's limit."
        },
        "415": {
            "phrase": "Unsupported Media Type",
            "class": "4xx client error",
            "rfc": "RFC 7231",
            "desc": "Content-Type not handled."
        },
        "418": {
            "phrase": "I'm a teapot",
            "class": "4xx client error",
            "rfc": "RFC 2324",
            "desc": "April fools joke. Some teapots actually return this."
        },
        "422": {
            "phrase": "Unprocessable Entity",
            "class": "4xx client error",
            "rfc": "RFC 4918",
            "desc": "Body is well-formed but semantically invalid."
        },
        "429": {
            "phrase": "Too Many Requests",
            "class": "4xx client error",
            "rfc": "RFC 6585",
            "desc": "Rate limit hit. Retry-After header tells you when."
        },
        "451": {
            "phrase": "Unavailable For Legal Reasons",
            "class": "4xx client error",
            "rfc": "RFC 7725",
            "desc": "Censored / blocked by court order."
        },
        "500": {
            "phrase": "Internal Server Error",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Generic server error. Check your logs."
        },
        "501": {
            "phrase": "Not Implemented",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Server doesn't support this method at all."
        },
        "502": {
            "phrase": "Bad Gateway",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Upstream returned garbage to a proxy."
        },
        "503": {
            "phrase": "Service Unavailable",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Overloaded / down for maintenance. Retry-After."
        },
        "504": {
            "phrase": "Gateway Timeout",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Upstream took too long. Safe to retry."
        },
        "505": {
            "phrase": "HTTP Version Not Supported",
            "class": "5xx server error",
            "rfc": "RFC 7231",
            "desc": "Server won't do that HTTP version."
        },
        "511": {
            "phrase": "Network Authentication Required",
            "class": "5xx server error",
            "rfc": "RFC 6585",
            "desc": "Captive portal / hotel wifi requires login."
        }
    }
}
{
    "ok": true,
    "slug": "utility/http-status",
    "title": "HTTP status code reference",
    "ms": 0,
    "data": {
        "count": 37,
        "codes": {
            "100": {
                "phrase": "Continue",
                "class": "1xx informational",
                "rfc": "RFC 7231",
                "desc": "Server received the request headers; client should send the body."
            },
            "101": {
                "phrase": "Switching Protocols",
                "class": "1xx informational",
                "rfc": "RFC 7231",
                "desc": "Server is switching protocols (e.g., to WebSocket) per Upgrade header."
            },
            "103": {
                "phrase": "Early Hints",
                "class": "1xx informational",
                "rfc": "RFC 8297",
                "desc": "Hint at resources to preload before the final response is ready."
            },
            "200": {
                "phrase": "OK",
                "class": "2xx success",
                "rfc": "RFC 7231",
                "desc": "Standard success response. Body is the requested resource."
            },
            "201": {
                "phrase": "Created",
                "class": "2xx success",
                "rfc": "RFC 7231",
                "desc": "Resource created. Location header points to it."
            },
            "202": {
                "phrase": "Accepted",
                "class": "2xx success",
                "rfc": "RFC 7231",
                "desc": "Request accepted but not yet acted on."
            },
            "204": {
                "phrase": "No Content",
                "class": "2xx success",
                "rfc": "RFC 7231",
                "desc": "Successful, but no body to return."
            },
            "206": {
                "phrase": "Partial Content",
                "class": "2xx success",
                "rfc": "RFC 7233",
                "desc": "Range request fulfilled."
            },
            "301": {
                "phrase": "Moved Permanently",
                "class": "3xx redirection",
                "rfc": "RFC 7231",
                "desc": "Resource moved. Update bookmarks. Method may change to GET."
            },
            "302": {
                "phrase": "Found",
                "class": "3xx redirection",
                "rfc": "RFC 7231",
                "desc": "Temporary redirect. Use 307 for stricter semantics."
            },
            "303": {
                "phrase": "See Other",
                "class": "3xx redirection",
                "rfc": "RFC 7231",
                "desc": "Redirect after POST \u2192 GET. Strict."
            },
            "304": {
                "phrase": "Not Modified",
                "class": "3xx redirection",
                "rfc": "RFC 7232",
                "desc": "Cached copy is still valid (If-None-Match / If-Modified-Since matched)."
            },
            "307": {
                "phrase": "Temporary Redirect",
                "class": "3xx redirection",
                "rfc": "RFC 7231",
                "desc": "Like 302 but method must be preserved."
            },
            "308": {
                "phrase": "Permanent Redirect",
                "class": "3xx redirection",
                "rfc": "RFC 7538",
                "desc": "Like 301 but method must be preserved."
            },
            "400": {
                "phrase": "Bad Request",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Malformed request \u2014 syntax, size, framing."
            },
            "401": {
                "phrase": "Unauthorized",
                "class": "4xx client error",
                "rfc": "RFC 7235",
                "desc": "Auth required (or failed). Includes WWW-Authenticate header."
            },
            "403": {
                "phrase": "Forbidden",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Auth identity is known but not allowed."
            },
            "404": {
                "phrase": "Not Found",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "No resource at this URL."
            },
            "405": {
                "phrase": "Method Not Allowed",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "URL exists but does not support this method."
            },
            "406": {
                "phrase": "Not Acceptable",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Server can't produce a representation matching Accept headers."
            },
            "408": {
                "phrase": "Request Timeout",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Client took too long. Safe to retry."
            },
            "409": {
                "phrase": "Conflict",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Resource state conflict \u2014 retry after resolving."
            },
            "410": {
                "phrase": "Gone",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Permanently removed; remove from caches."
            },
            "413": {
                "phrase": "Payload Too Large",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Body exceeds server's limit."
            },
            "414": {
                "phrase": "URI Too Long",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "URL exceeds server's limit."
            },
            "415": {
                "phrase": "Unsupported Media Type",
                "class": "4xx client error",
                "rfc": "RFC 7231",
                "desc": "Content-Type not handled."
            },
            "418": {
                "phrase": "I'm a teapot",
                "class": "4xx client error",
                "rfc": "RFC 2324",
                "desc": "April fools joke. Some teapots actually return this."
            },
            "422": {
                "phrase": "Unprocessable Entity",
                "class": "4xx client error",
                "rfc": "RFC 4918",
                "desc": "Body is well-formed but semantically invalid."
            },
            "429": {
                "phrase": "Too Many Requests",
                "class": "4xx client error",
                "rfc": "RFC 6585",
                "desc": "Rate limit hit. Retry-After header tells you when."
            },
            "451": {
                "phrase": "Unavailable For Legal Reasons",
                "class": "4xx client error",
                "rfc": "RFC 7725",
                "desc": "Censored / blocked by court order."
            },
            "500": {
                "phrase": "Internal Server Error",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Generic server error. Check your logs."
            },
            "501": {
                "phrase": "Not Implemented",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Server doesn't support this method at all."
            },
            "502": {
                "phrase": "Bad Gateway",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Upstream returned garbage to a proxy."
            },
            "503": {
                "phrase": "Service Unavailable",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Overloaded / down for maintenance. Retry-After."
            },
            "504": {
                "phrase": "Gateway Timeout",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Upstream took too long. Safe to retry."
            },
            "505": {
                "phrase": "HTTP Version Not Supported",
                "class": "5xx server error",
                "rfc": "RFC 7231",
                "desc": "Server won't do that HTTP version."
            },
            "511": {
                "phrase": "Network Authentication Required",
                "class": "5xx server error",
                "rfc": "RFC 6585",
                "desc": "Captive portal / hotel wifi requires login."
            }
        }
    },
    "source": "live",
    "meta": []
}
JSON endpoint
/api/v1/utility/http-status?q=AS13335
curl
curl -s '/api/v1/utility/http-status?q=AS13335'
Sponsored host.tools Pro
Bulk lookups · monitors · webhooks · 10,000 API calls/day

Upgrade to Pro for $19/mo. Cancel anytime. Works with the same API you already use.

How to use HTTP status code reference
  1. 1
    Paste your input

    Enter the value at the top — domain, IP, URL, email, ASN, hash, whatever fits this tool. The smart input auto-detects type.

  2. 2
    Click "Inspect"

    host.tools issues real probes (DNS, HTTP, TCP, TLS, WHOIS where applicable) and renders the result in milliseconds.

  3. 3
    Open the API tab

    Every web tool has a sibling /api/v1/utility/http-status JSON endpoint with the same payload. One copy-as-curl click and you're scripting it.

API equivalent
/api/v1/utility/http-status?q=AS13335
curl -s '/api/v1/utility/http-status?q=AS13335'
Embed this tool
<iframe src="/utility/http-status?q={INPUT}&embed=1"
  width="100%" height="600" frameborder="0"></iframe>

Drop into any HTML page. The embed=1 flag hides nav and footer.

FAQ · HTTP status code reference

Common questions

Is HTTP status code reference free?
Yes — every tool is free on the web with a 200/hour rate limit per IP. The matching API endpoint /api/v1/utility/http-status is free up to 100 requests/hour, no key required.
Where does the data come from?
Real-time probes against authoritative sources (DNS root, RIRs, registries, the target server itself), plus partner data feeds from hostinfo.com (GeoIP/ASN) and hostcheck.com (reputation).
How fresh are the results?
Live by default. Cached for 5 minutes to make repeat queries instant; pass ?nocache=1 for a forced refresh.
Can I run this from the command line?
Yes — every tool ships with a copy-as-curl. There's also an official CLI: host.tools utility http-status YOUR_INPUT.
Can I monitor results over time?
Pro tier lets you schedule any tool to run every 1/5/15/60 min and alert on diff. See monitors.
host.tools Pro

Run HTTP status code reference on a schedule. Get pinged when it changes.

Pro gets you bulk lookups, monitors, webhook alerts, history, exports and 10,000 API calls/day. $19/mo.

  • Schedule any tool — every 1, 5, 15, 60 min
  • Diff against last run, alert on change
  • Webhook + email + Slack + PagerDuty + OpsGenie
  • Bulk CSV upload, 1,000 inputs per job
  • Export results as CSV / NDJSON / Excel
  • 90-day history, comparison view