HTTP status codes and their respective Rails symbol representations. For example, :not_found can be used instead of 404 in a render call:

Sheet

Rest Http Response Codes Cheat Sheet

Today’s poster is for the variety of HTTP status codes which exist. Not only is there the 34 original HTTP v1.0 ones and the 6 new ones that came in with 1.1. There is also another 10 extensions from official RFC’s, and two special case ones. That is 52 in total, and it isn’t easy to remember what they are all are – so this poster is a cheat sheet to help with that. HTTP Status Code directory, with definitions, details and helpful code references. Sponsored by Runscope — API Monitoring & Testing. HTTP Status Codes. Httpstatuses.com is an easy to reference database of HTTP Status Codes with their definitions and helpful code references all in one place. Examples of using HTTP Status Codes in REST 201 – When doing a POST to create a new resource it is best to return 201 and not 200. 204 – When deleting a resources it is best to return 204, which indicates it succeeded but there is no body to return. HTTP Status codes cheat sheet In HTTP /1.0 and since, the first line of the HTTP response is called the status line and includes a numeric status code (such as “404”) and a.

1xx Informational

:continue

The server has received the request headers, and that the client should proceed to send the request body.

:switching_protocols

The requester has asked the server to switch protocols and the server is acknowledging that it will do so.

:processing

The server has received and is processing the request, but no response is available yet.

2xx Success

:ok

The standard response for successful HTTP requests.

:created

The request has been fulfilled and a new resource has been created.

:accepted

The request has been accepted but has not been processed yet. This code does not guarantee that the request will process successfully.

:non_authoritative_information

HTTP 1.1. The server successfully processed the request but is returning information from another source.

:no_content

The server accepted the request but is not returning any content. This is often used as a response to a DELETE request.

:reset_content

Similar to a 204 No Content response but this response requires the requester to reset the document view.

:partial_content

The server is delivering only a portion of the content, as requested by the client via a range header.

:multi_status

The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made.

WebDAV - RFC 4918

:already_reported

The members of a DAV binding have already been enumerated in a previous reply to this request, and are not being included again.

WebDAV - RFC 5842

:im_used

The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.

3xx Redirection

:multiple_choices

There are multiple options that the client may follow.

:moved_permanently

The resource has been moved and all further requests should reference its new URI.

:found

The HTTP 1.0 specification described this status as 'Moved Temporarily', but popular browsers respond to this status similar to behavior intended for 303. The resource can be retrieved by referencing the returned URI.

:see_other

The resource can be retrieved by following other URI using the GET method. When received in response to a POST, PUT, or DELETE, it can usually be assumed that the server processed the request successfully and is sending the client to an informational endpoint.

:not_modified

The resource has not been modified since the version specified in If-Modified-Since or If-Match headers. The resource will not be returned in response body.

:use_proxy

HTTP 1.1. The resource is only available through a proxy and the address is provided in the response.

:reserved

Deprecated in HTTP 1.1. Used to mean that subsequent requests should be sent using the specified proxy.

:temporary_redirect

HTTP 1.1. The request should be repeated with the URI provided in the response, but future requests should still call the original URI.

:permanent_redirect

Experimental. The request and all future requests should be repeated with the URI provided in the response. The HTTP method is not allowed to be changed in the subsequent request.

4xx Client Error

:bad_request

The request could not be fulfilled due to the incorrect syntax of the request.

:unauthorized

The requestor is not authorized to access the resource. This is similar to 402 but is used in cases where authentication is expected but has failed or has not been provided.

:payment_required

Reserved for future use. Some web services use this as an indication that the client has sent an excessive number of requests.

:forbidden

The request was formatted correctly but the server is refusing to supply the requested resource. Unlike 402, authenticating will not make a difference in the server's response.

:not_found

The resource could not be found. This is often used as a catch-all for all invalid URIs requested of the server.

:method_not_allowed

The resource was requested using a method that is not allowed. For example, requesting a resource via a POST method when the resource only supports the GET method.

:not_acceptable

The resource is valid, but cannot be provided in a format specified in the Accept headers in the request.

:proxy_authentication_required

Authentication is required with the proxy before requests can be fulfilled.

:request_timeout

The server timed out waiting for a request from the client. The client is allowed to repeat the request.

:conflict

The request cannot be completed due to a conflict in the request parameters.

:gone

The resource is no longer available at the requested URI and no redirection will be given.

:length_required

The request did not specify the length of its content as required by the resource.

:precondition_failed

The server does not meet one of the preconditions specified by the client.

:request_entity_too_large

The request is larger than what the server is able to process.

:request_uri_too_long

The URI provided in the request is too long for the server to process. This is often used when too much data has been encoded into the URI of a GET request and a POST request should be used instead.

:unsupported_media_type

The client provided data with a media type that the server does not support.

:requested_range_not_satisfiable

The client has asked for a portion of the resource but the server cannot supply that portion.

:expectation_failed

The server cannot meet the requirements of the Expect request-header field.

:unprocessable_entity

The request was formatted correctly but cannot be processed in its current form. Often used when the specified parameters fail validation errors.

WebDAV - RFC 4918

:locked

The requested resource was found but has been locked and will not be returned.

WebDAV - RFC 4918

:failed_dependency

The request failed due to a failure of a previous request.

WebDAV - RFC 4918

:upgrade_required

The client should repeat the request using an upgraded protocol such as TLS 1.0.

Httpstatuses

5xx Server Error

:internal_server_error

A generic status for an error in the server itself.

:not_implemented

The server cannot respond to the request. This usually implies that the server could possibly support the request in the future — otherwise a 4xx status may be more appropriate.

:bad_gateway

The server is acting as a proxy and did not receive an acceptable response from the upstream server.

:service_unavailable

The server is down and is not accepting requests.

:gateway_timeout

The server is acting as a proxy and did not receive a response from the upstream server.

:http_version_not_supported

The server does not support the HTTP protocol version specified in the request.

:variant_also_negotiates

Transparent content negotiation for the request results in a circular reference.

:insufficient_storage

The user or server does not have sufficient storage quota to fulfill the request.

WebDAV - RFC 4918

:loop_detected

The server detected an infinite loop in the request.

WebDAV - RFC 5842

:not_extended

Further extensions to the request are necessary for it to be fulfilled.

:network_authentication_required

The client must authenticate with the network before sending requests.

Notes

Http Response Status Codes Cheat Sheet

  • Based on cheat.errtheblog.com and List of HTTP status codes on Wikipedia.