HTTP status codes, also known as browser error codes or internet error codes, indicate whether a particular HTTP request is successful or not.

Whenever you try to access a specific website and enter its URL in your browser, the browser sends your request to the web server of that website. Upon receiving the request, the web server processes it and returns the response with an HTTP header.

This HTTP header consists of the HTTP status codes. Every time your browser makes a request for a web page or resource to the web server, you receive the HTTP status codes; however, you do not notice them most times. You usually notice them when something goes wrong and doesn’t find what you requested.

Let us explore more about HTTP status codes in this article.

What are HTTP Status Codes? 

HTTP status codes are the response codes the web server sends as a response to a web browser when it requests the desired resource. When the requested resource (web page) does not load properly in a browser, these codes help you identify the major cause. 

An alternate term for the HTTP status code is the HTTP status line. Primarily, the HTTP status line consists of a code and the corresponding reason phrase. 

For instance, the HTTP status line: 404: Bad Request consists of the HTTP status code: 400 and the HTTP reason phrase: Bad Request

Types of HTTP Status Codes

HTTP response codes are categorized into the following five groups: 

  • 100: Informational Responses
  • 200: Successful Responses
  • 300: Redirection Responses
  • 400: Client-Error Responses
  • 500: Server-Error Responses

I shall explain all these groups in detail below. 

100: Informational Responses

This group of status codes indicates that the request from the client to the server is still in progress. 100-level status codes do not necessarily have to be errors; they provide additional information to help you know what exactly is going on. 

100-level HTTP Status CodesDescription
100 ContinueIt indicates that the web server has received only a part of the request. The client can continue to send the request, as the web server has not rejected it. 
101 Switching ProtocolsThe web server changes the protocol as requested by the browser. 
102 ProcessingThe code indicates that the server is processing the request from the client, but the response is not yet ready. 
103: Early HintsIt returns some response headers before the server sends a complete response.

200: Successful Responses

The 200-level HTTP response codes indicate that everything is functioning as intended, i.e., the client receives the expected response. 

200-level HTTP Status CodesDescription
200 OKIt indicates that a certain HTTP request is successful.  
201 CreatedThe web server has fulfilled the browser’s request and hence, has created a new resource. 
202 AcceptedIt specifies that the web server has accepted the browser’s request for processing. The server is still processing the request and has not completed it. 
203 Non-Authoritative InformationWhen there is a use of a proxy server, it receives the response code 200: OK from the origin server. However, it sends the modified version of the original response to the browser. 
204 No ContentThe code indicates that the web server has processed the request successfully but is not going to return any content. 
205 Reset ContentThe web server asks the browser to reset the document view while it has processed the request successfully but is not returning any content. 
206 Partial ContentThis status code leverages range headers that allow you to resume your paused downloads or split a download into multiple streams. The server sends only the part of the response because the client has sent range headers.

300: Redirection Responses

Basically, redirection is the process of conveying that the resource has been located from its original place to a new one. Redirection responses provide clients with information about the location where they can find the requested content. 

300-level HTTP Status CodesDescription
300 Multiple ChoicesMany times the web server provides multiple resources to a browser’s requests. As a result, the browser can choose from multiple options available. 
301 Moved PermanentlyIt indicates that the current and all further requests should be redirected to the given URI, as the resource has been located permanently. 
302 FoundThe browser finds the requested resource but not at the intended location. It indicates the temporary URL redirection. 
303 See OtherThis code indicates that it has found the resource your browser requested via POST, DELETE, or PUT methods. You can retrieve the resource by making a request using the GET method to a different URI (different from the one used before). 
304 Not Modified It specifies that the resource stored in your browser’s cache is not modified since you accessed it for the last time. 
305 Use ProxyThe browser can access the resource only through a proxy whose address is received in a response from the server. 
306 Switch Proxy All the subsequent requests should use a different proxy. 
307 Temporary RedirectThe web server sends this response code to the client, stating that they can find the requested resource at a different URL but using the same method as used in the previous request. 
308 Permanent RedirectThis indicates that the resource has been permanently moved to a different URI. 

400: Client-Error Responses

The 400-level status codes are codes that specify something is wrong on the error client side, i.e., there is an issue with the browser or the request. 

400-level HTTP Status CodesDescription
400 Bad RequestThe server will not return the response due to a client error, such as the invalid syntax of the request, size too large, 
401 UnauthorizedThe client has to authenticate themselves to receive the request-response.
402 Payment ReminderInitially, the code was created to use in digital payment systems. But this never happened, and hence the is not used widely. 
403 ForbiddenThe web server refuses to provide the requested resource because the client does not have access rights. 
404 Not FoundIt indicates that the server does not find the requested resource. 
405 Method Not AllowedThis code specifies that the requested resource does not support the request method. 
406 Not AcceptableIt states that the requested resource only generates content that is not acceptable by the accept header in the request. 
407 Proxy Authentication RequiredThe client should authenticate themselves with the proxy first.
408 Request TimeoutIt specifies that the client did not make any request within the time the server was prepared to wait.
409 ConflictDue to the conflict in the current state of the resource, the server could not process the client’s request. 
410 GoneSimilar to 404: Not Found. Also, 410: Gone specifies that the condition is permanent and expected.
411 Length RequiredThe client has not specified the length of the content required by the requested resource. 
412 Precondition FailedThe server did not satisfy any of the pre-conditions the client imposed on the request headers. 
413 Payload Too LargeThe request is larger than the server is capable of processing it. 
414 URI Too LongThe length of the URI is larger for the server to process.  
415 Unsupported Media TypeThe request has a media type that the server or resource does not support. 
416 Range Not SatisfiableIt specifies that the request was the portion of a resource that the server was not able to return.
417 Expectation FailedThe server is not capable of fulfilling the needs of the Expect request-header field. 
418 I’m a TeapotTeapots return this code when they receive the request for brewed coffee. 

500: Server-Error Responses

Like 400-level status codes, 500-level codes are also errors but on the server side. These codes define the issues on the server side and are pretty tricky to resolve. 

500-level HTTP Status CodesDescription
500 Internal Server ErrorThis indicates that something is wrong with the server, and the requested resource is not delivered to the client. 
501 Not ImplementedThe server either does not identify the request method or has no ability to fulfill the request. 
502 Bad GatewayWhen the server acts as a gateway or proxy, it receives an invalid response from the upstream server. 
503 Service Unavailable The server is not able to handle the request as it is down for maintenance or overloaded.
504 Gateway TimeoutThe server was acting as a gateway or proxy and has not received the response in time from the upstream server. 
505 HTTP Version Not SupportedThe server is not compatible with the HTTP version used in the request. 
506 Variant Also NegotiatesA circular reference is produced via transparent content negotiation for the request.
507 Insufficient StorageThere is no sufficient storage on the server to store the representation required to fulfill the request. 
508 Loop DetectedThe server detected the infinite loop while processing the request. 
510 Not ExtendedIn order to fulfill the request, the server requires further extensions to the request. 
511 Network Authentication RequiredIt specifies the need for client authentication so that the client can access the network. 

Also Read: 4 Ways to Fix “DNS Probe Finished No Internet” Error in Chrome Browser

To Sum It Up: HTTP Status Codes

This was all about the HTTP status codes and different types. These status codes are actually informative though they seem intimidating. When you learn some of the major HTTP response codes, you can easily troubleshoot problems on your website. I hope you will find this article helpful in identifying which status code you receive when you request information on the internet. 

LEAVE A REPLY

Please enter your comment!
Please enter your name here