DEV

HTTP Status Checker

Check the status code, response time and readable headers a URL returns, with a curl command and a table of what each HTTP status code means.

The request is sent from your browser. Sites must allow it (CORS) for the code to be readable.
— Enter a URL and check it.

What this checker does

It sends one request to the URL you enter and reports the HTTP status code, the time the response took and the response headers your browser is allowed to read. It also gives you a ready-made curl command for the cases where a browser cannot show the answer. Below the tool is a lookup table of the common status codes and what to check for each.

When the browser cannot show the code

For security, a browser only lets a page read a response from another site if that site opts in with CORS headers. Many sites do not. When that happens the tool can still often tell you whether the server answered at all, but not what the status code was. In that case it says so plainly, and the curl command it generates will show the real status from your terminal. Requests to plain http:// addresses from this secure page are blocked by the browser, so use the https address or curl for those.

How to read the result

Codes starting with 2 mean success, 3 mean the URL redirects elsewhere, 4 mean the request itself is at fault, such as a missing page, and 5 mean the server failed. A 200 on a page that looks wrong can still be a problem, and a chain of several redirects slows a page down, so link straight to the final address. After a domain change, confirm the old URLs return a 301 to the new ones. If a site will not load at all, look at its records with the DNS Lookup Tool.

Status code reference

100Continue
The server received the request headers and the client should send the body. Rarely seen directly.
101Switching Protocols
The server agrees to switch protocol, for example to WebSocket. Check the Upgrade header.
200OK
The request succeeded. Nothing to fix.
201Created
The request succeeded and created a new resource. Common after a POST.
202Accepted
The request was accepted but is not finished yet. Used for queued jobs.
204No Content
Success with no body to return. Normal for deletes and some APIs.
206Partial Content
Only part of the resource was sent, as requested with a Range header. Used for video and resumable downloads.
301Moved Permanently
The URL has permanently moved to a new address. Update links; search engines pass ranking to the new URL.
302Found
A temporary redirect to another URL. Search engines keep the original URL indexed.
303See Other
Fetch the result from another URL with GET. Common after a form post.
304Not Modified
Your cached copy is still current. Normal when caching works.
307Temporary Redirect
A temporary redirect that keeps the same method. Like 302 but strict about POST.
308Permanent Redirect
A permanent redirect that keeps the same method. Like 301 but strict about POST.
400Bad Request
The server could not understand the request. Check the URL, headers and body.
401Unauthorized
Authentication is required or has failed. Check credentials or the token.
403Forbidden
The server understood the request but refuses it. Check permissions, IP rules and firewalls.
404Not Found
Nothing exists at this URL. Check the path, or add a redirect.
405Method Not Allowed
The URL does not support this HTTP method. Check the Allow header.
408Request Timeout
The server gave up waiting for the request. Often a slow client connection.
409Conflict
The request clashes with the current state of the resource. Common with edits and duplicates.
410Gone
The resource was removed on purpose and will not return. Search engines drop it faster than a 404.
418I'm a teapot
A joke status from an April Fools' RFC. Occasionally used as an easter egg.
422Unprocessable Content
The request was well formed but failed validation. Read the error body for the field.
429Too Many Requests
You are being rate limited. Slow down and check the Retry-After header.
500Internal Server Error
The server hit an unexpected error. Check the server logs.
501Not Implemented
The server does not support the requested feature. Check the method or endpoint.
502Bad Gateway
A gateway or proxy got a bad answer from the upstream server. Check the app behind the proxy.
503Service Unavailable
The server is overloaded or down for maintenance. Often temporary; check Retry-After.
504Gateway Timeout
A gateway or proxy timed out waiting for the upstream server. Check slow back-end calls.

Frequently asked

Why does the tool sometimes say it cannot read the status code?

Browsers block a page from reading a response from another site unless that site sends CORS headers allowing it. The tool shows what it can, and gives a curl command that will show the real status code.

What is the difference between a 301 and a 302 redirect?

A 301 is permanent, so browsers and search engines move to the new URL for good. A 302 is temporary, so the original URL stays in place. Use 301 for moved pages and 302 for short-term detours.

What does a 404 mean and how is it different from a 410?

A 404 means nothing was found at that URL, which may be temporary or a mistake. A 410 says the page was removed on purpose and is not coming back. Search engines tend to drop a 410 page sooner.

What causes a 502 or 504 error?

Both come from a gateway or proxy in front of your app. A 502 means the app sent a bad or empty answer, and a 504 means it took too long. Check that the app is running and look for slow database or API calls.

Is the URL I enter sent to Curious Assistant?

No. The request goes from your browser straight to the site you enter. Curious Assistant does not receive the URL or the response.