Hypertext Transfer Protocol (HTTP) response codes or HTTP response codes are 3-digit numbers that provide information about the status of a web page or request essentially, letting your browser know what’s happening when it tries to load a web page. These codes help your browser and the website’s server talk to each other, making sure things run smoothly while you browse the internet to allow for a smooth browsing experience for users.
Example:
Let’s say you type in a website address and press enter:
- If everything works, you might get a 200 OK code — this means the page loaded successfully.
- If the page doesn’t exist, you’ll see a 404 Not Found code — meaning the server couldn’t find the page you asked for.
- If the website is down or something’s broken, you might see a 500 Internal Server Error.
These codes help websites and browsers stay on the same page (literally!), so you get the right information or a clear message when something goes wrong.
Classes of HTTP response codes
There are 5 main types (or classes) of HTTP response codes, each starting with a different number. These help you quickly understand what kind of response your browser is getting. Within each class, there are many specific codes—more than 50 in total—but don’t worry, you don’t need to memorize or know them all!
Below are some common ones you might run into, which can help you know where to start if something’s not working right.
Note: New codes can be added over time, and some older ones may stop being used, but the general categories stay the same.
✅ 1xx – Informational
These codes mean the request was received and the server is still working on it.
Example:
100 Continue – The server got the first part of your request and says, “Okay, keep going.”
When you might see this:
Usually behind the scenes—you won’t often notice these unless you’re working with advanced tools.
✅2xx – Success
Everything went well! The server did what you asked.
Example:
200 OK – The page loaded successfully.
When you might see this:
Most of the time when websites load normally.
➡️3xx – Redirection
The page or resource has moved, and the server is redirecting your browser to a new location.
Example:
301 Moved Permanently – The page has moved to a new web address for good.
When you might see this:
If a website has been updated or restructured, you may be redirected without even noticing.
❌4xx – Client Error
Something went wrong on your end (the user’s browser). Maybe the page doesn’t exist, or you don’t have permission.
Examples:
404 Not Found – The page doesn’t exist.
When you might see this:
Trying to visit a broken link, misspelled URL, or restricted page.
❌5xx – Server Error
The problem is on the website’s side. The server failed to complete a valid request.
Examples:
500 Internal Server Error – Something’s broken on the website.
When you might see this:
The website’s having technical issues. Nothing you can do but try again later.
Commonly used HTTP response codes
You have likely seen some of these and maybe your heart stopped a beat. But, don’t worry. Knowing what some of these codes mean can help start the troubleshooting process and knowing when to contact your hosting provider or when it is an error you have created (we’re all human and have done things without giving it too much thought! I’ve been there.) and guide you in taking the next steps to correcting it!
Here are the most commonly used HTTP response codes that you may come across:
- 200 OK: Everything is working fine, and the requested web page has been successfully delivered to your browser. You likely won’t see this but it is nice to know when things are okay!
- 301 Moved Permanently: The requested web page has been permanently moved to a new location. Your browser will automatically be redirected to the new address.
- 302 Found: The requested web page has been temporarily moved to a different location. Your browser will be redirected, but the original address may be used again in the future.
- 400 Bad Request: Oops! Your browser sent an invalid request to the web server, which couldn’t understand it. Check your URL or the data you’re trying to send.
- 401 Unauthorized: Uh-oh! The web server requires authentication or login credentials before granting access to the requested page. Please provide the necessary credentials.
- 403 Forbidden: Sorry, but you don’t have permission to access the requested web page. It’s like being denied entry to a members-only area.
- 404 Not Found: Oh no! The web page you’re looking for couldn’t be found. It might have been moved, deleted, or simply doesn’t exist.
- 500 Internal Server Error: Something went wrong on the web server’s side while processing your request. Don’t worry; it’s not your fault. The server needs some fixing.
- 502 Bad Gateway: When the server acting as a gateway receives an invalid response from an upstream server, it returns this code. It’s like a relay runner dropping the baton.
- 503 Service Unavailable: The web server is temporarily unavailable, usually due to maintenance or high traffic. Try again later, and it should be back up and running.
- 504 Gateway Timeout: The server acting as a gateway didn’t receive a timely response from an upstream server. It’s as if the gateway gave up waiting for a response.
HTTP response codes help keep your browsing experience smooth and frustration-free. They act like status updates from a website, letting your browser know what’s going on—whether a page has moved, an error has popped up, or the server is having issues.
So the next time you see one of these codes, don’t stress! Think of it as the internet’s way of giving you a heads-up and pointing you in the right direction.
Want to see the full list of codes and what they mean? Check out the guide on the SEMRush blog for more details.












