10 Most Common HTTP Status Codes
Last Updated :
06 Jun, 2025
When you visit a website or make a request online, your browser communicates with a server using HTTP (Hypertext Transfer Protocol). The server responds with a three-digit HTTP status code that indicates whether the request was successful or if something went wrong. These codes are grouped into categories and help explain the outcome of your request in a simple way.

This guide explains the major HTTP status code categories and highlights some of the most common codes with their meanings, making it easy to understand what happens when you interact with a website.
What are HTTP Status Codes?
The HTTP status code is a response made by the server to the client's request. These are three-digit codes. There are over 60 status codes, but they fall into five main categories:
- 1xx - Informational Response (These status codes are all about the information received by the server when a request is made).
- 2xx - Success (This status code depicts that the request made has been fulfilled by the server and the expected response has been achieved).
- 3xx - Redirection (The requested URL is redirected elsewhere).
- 4xx - Client Errors (This indicates that the page is not found).
- 5xx - Server Errors (A request made by the client but the server fails to complete the request).
Major HTTP Status Codes
1. 200 (Success/OK)
The HTTP status code 200 represents success which means the page you have requested has been fetched. The action made has been accepted and has been delivered to the client by delivering the requested page.
- GET: entity in reference to the requested source sent to the response
- POST: entity describing the response of action made
- HEAD: an entity-header field similar to the requested source
- TRACE: a request made by the client is taken care of by the server
2. 301 (Permanent Redirect)
The HTTP status code 301 means that the page you have requested has moved to a new URL and which is permanent. In the future, whenever the user requests the same website, it will be redirected to the new URL. The modified permanent URL is given by the location filed in response.
3. 302 (Temporary Redirect)
The requested URL has been redirected to another website which is temporary. Major changes in the URL will be in the future. Other than GET or HEAD, if the 302 is received in response to a request. The redirection is temporarily redirected to another website.
4. 304 (Not Modified)
HTTP status code 304 is used for caching purposes. The response has not been changed so that in the future the client can resume the same cache. If there's a GET request and access is allowed, but the document has not been modified. The response MUST NOT contain a message-body and therefore comes to an end by the first empty line.
5. 400 (Bad Request)
When the client requests a page and the server is not able to understand anything, it displays a 400 HTTP status code. The client SHOULD NOT repeat the request without any changes. The request can be a malformed, deceptive request routing, or invalid request.
6. 401 (Unauthorized Error)
This HTTP status code requires user authentication. The response includes the WWW-Authenticate header field containing a challenge applied to a requested source. HTTP access authentication "HTTP Authentication: Basic and Digest Access Authentication".
7. 403 (Forbidden)
The HTTP status code 403 implies that the request is understood by the server, but still refuses to fulfill it. If the request method was not HEAD and also the server wants to make it public when the request is not completed, it SHOULD tell the reason for the refusal in the entity.
8. 404 (Not Found)
404 HTTP Status code appears when you request a URL and then the server has not found anything. This happens when the server doesn't wish to describe the reason why the request has been refused. Also, the server is not able to find a representation for the target resource.
9. 500 (Internal Server Error)
500 HTTP status code means requesting a URL is not fulfilled because the server encounters an unexpected condition. It gives information about the request made if it is successful, and throws an error. When there's an error during a connection to the server, and the requested page cannot be accessed then this message is displayed.
10. 501 (Not Implemented)
When a request is made by the client, the server is not able to recognize the request method and is not able to support any resource. By default. it is cacheable. The methods, the server requires to support are GET and HEAD. The server does not support the functionality required to fulfill the request.
Other HTTP Status Codes Are:
100 Continue
101 Switching Protocol
102 Processing (WebDAV)
103 Early Hints
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status (WebDAV)
208 Already Reported (WebDAV)
226 IM Used (HTTP Delta encoding)
300 Multiple Choice
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
306 Unused
307 Temporary Redirect
308 Permanent Redirect
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed
418 I'm a teapot
421 Misdirected Request
425 Too Early
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage (WebDAV)
508 Loop Detected (WebDAV)
510 Not Extended
511 Network Authentication Required
Why HTTP Status Codes Matter
Understanding HTTP status codes helps you figure out what’s happening when you interact with a website. Whether it’s a successful page load (200), a missing page (404), or a server issue (500), these codes provide clarity about the communication between your browser and the server. They’re especially useful for developers and website administrators to troubleshoot issues and improve user experiences.
Conclusion
HTTP status codes are like the internet’s way of talking to you about what’s happening behind the scenes. From confirming a successful request (2xx) to pointing out a missing page (404) or a server hiccup (500), these codes make it easier to understand and fix issues when browsing the web. By familiarizing yourself with these codes, you can better navigate errors, optimize websites, or simply know why a page didn’t load as expected. Whether you’re a casual user or a developer, knowing the basics of HTTP status codes empowers you to interact with the digital world more confidently.
Similar Reads
HTTP 201 status code What is HTTP ? HTTP stands for Hyper Text Transfer Protocol. Using this protocols, the clients communicate with server and vice versa. This concept is the core of internet, since it was created in 1990. HTTP is basic yet powerful file transfer protocol. Features of HTTP: HTTP is connectionless: This
3 min read
HTTP status codes | Client Error Responses The browser and the site server have a conversation in the form of HTTP status codes. The server gives responses to the browserâs request in the form of a three-digit code known as HTTP status codes. The categorization of HTTP status codes is done in five sections which are listed below. Information
4 min read
Can you console all HTTP status code in Node.js ? NodeJS is a runtime environment built to run Javascript outside the browser. It is widely used to build servers at the backend, which interact with the frontend such as websites, mobile applications, and many more. In this article, We will check whether we can console all HTTP status codes in NodeJS
3 min read
PHP | connection_status() Function The connection_status() function is an inbuilt function in PHP which returns the current connection status. Syntax: int connection_status( void ) Parameters: This function doesn't accept any parameters. Return Value: This function returns the connection status bitfield. The possible values of return
2 min read
What is 412 Precondition Failed - HTTP Status Code Glossary The internet thrives on communication between servers and clients, with HTTP status codes acting as a vital language for conveying success or failure. Among these codes, the 412 Precondition Failed message can be a source of confusion for both users and developers. This article delves into the detai
8 min read
What is HTTP 505 Error and How To Fix It HTTP, or the HyperText Transfer Protocol, is the most important part on which data communication on the World Wide Web depends. When we are using the web, it is quite normal to come across errors. One example is the HTTP 505 error, which signals that the server doesn't support the HTTP version used
8 min read
How to send HTTP response code in PHP? HTTP Response code: There are three approaches to accomplish the above requirement, depending on the version. For PHP versions 4.0: In order to send the HTTP response code, we need to assemble the response code. To achieve this, use header() function. The header() function contains a special use-cas
2 min read
How is HTTP used in API Development ? HTTP (Hypertext Transfer Protocol) plays a vital role in API (Application Programming Interface) development as it facilitates communication between clients and servers. Here's an in-depth look at how HTTP is used in API development: Table of Content Client-Server CommunicationHTTP MethodsHTTP Heade
3 min read
HTTP Compression HTTP compression is concerned with the application of different algorithms to the amount of data that has to be sent out from the server, the amount of data that has to come to the client in order to make further relations as efficient as possible. It is mostly beneficial when it comes to documents
6 min read
Which HTTP response status codes result in then() and which in catch() ? Axios is a popular JavaScript library for making HTTP requests. It uses promises to handle the response from the server, and provides a convenient then() and catch() syntax for working with the data or handling errors. Have you ever wondered which HTTP response status codes will cause axios to call
4 min read