top of page
Search

HTTP Status Codes

Updated: Jul 29

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. They are grouped into five classes:

Head to RFC7231 for updated documents.


Information responses


100 Continue

This interim response indicates that everything so far is OK and that the client should continue the request, or ignore the response if the request is already finished.


101 Switching Protocol

This code is sent in response to Upgrade request header from the client, and indicates the protocol the server is switching to.


103 Early Hints

This status code is primarily intended to be used with the Link header, letting the user agent start preloading resources while the server prepares a response.


Successful responses


200 OK

This request has succeeded. The meaning depends in the HTTP method:

  • GET: The resource has been fetched and is transmitted in the message body.

  • HEAD: The entity headers are in the message body.

  • PUT or POST: The resource describing the result of the action is transmitted in the message body.

  • TRACE: The message body contains the request message as received by the server.

201 Created

The request has succeed and a new resource has been created as a result. This is typically the response sent after POST or PUT.


202 Accepted

The request has been received but not yet acted upon.


204 No Content

There is no content to send for this request, but the headers may be useful.


Redirection messages


300 Multiple Choice

The request has more than one possible response. The user-agent or user should choose one of them.


301 Moved Permanently

The URL of the requested resource has been changed permanently. The new URL is given in the response.


302 Found

This response code means that the URI of requested resource has been changed temporarily. Further changes in the URI might be made in the future. Therefore, this same URI should be used by the client in future requests.


303 See Other

The server sent this response to direct the client to get the requested resource at another URI with a GET request.


304 Not Modified

This is used for caching purposes. It tells the client that the response has not been modified, so the client can continue to use the same cached version of the response.


Client error responses


400 Bad Request

The server could not understand the request due to invalid syntax.


401 Unauthorized

Although the HTTP standard specifies "unauthorized", semantically this response means "unauthenticated". That is, the client must authenticate itself to get the requested response.


403 Forbidden

The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the client's identity is known to the server.


404 Not Found

The server can not find the requested resource. In the browser, this means the URL is not recognized. In an API, this can also mean that the endpoint is valid but the resource itself does not exist. Servers may also send this response instead of 403 to hide the existence of a resource from an unauthorized client. This response code is probably the most famous one due to its frequent occurrence on the web.


405 Method Not Allowed

The request method is known by the server but has been disabled and cannot be used. For example, an API may forbid DELETE-ing a resource. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.


406 Not Acceptable

This response is sent when the web server, after performing, server-driven content negotiation, doesn't find any content that conforms to the criteria given by the user agent.


408 Request Timeout

This response is sent on an idle connection by some servers, even without any previous request by the client. It means that the server would like to shut down this unused connection.


Server error responses


500 Internal Server Error

The server has encountered a situation it doesn't know how to handle.


501 Not Implemented

The request method is not supported by the server and cannot be handled. The only methods that servers are required to support (and therefore that must not return this code) are GET and HEAD.


502 Bad Gateway

This error response means that the server, while working as a gateway to get a response needed to handle the request, got an invalid response.


504 Gateway Timeout

This error response is given when the server is acting as a gateway and cannot get a response in time.


505 HTTP Version Not Supported

The HTTP version used in the request is not supported by the server.


421 views0 comments

Comments


bottom of page