Search notes:

HTTP status codes

A HTTP status code is a three digit number. It is sent in the first response line (also referred to as status line) after a HTTP request.
A status code informs the user agent if and how the web server was able to understand and satisfy the corresponding request.

Some HTTP status code

Some HTTP status codes include:
100 Continue See also the request header Expect
101 Switching Protocols See also the Upgrade request header.
200 OK
201 Created A resource was created on the server. Typically used after POST (why?) and sometimes after PUT requests.
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently The Location response header contains the URL to which a resource has moved. See also the -L option of curl
302 Found War previously referred to as «Moved temporarily»
303 See Other
304 Not Modified See the ETag and If-None-Matched headers. Compare with the 412 status code.
308 Permanent Redirect described in RFC 7538
305 Use Proxy Deprecated
306 Unused
307 Temporary Redirect
400 Bad Request
401 Unauthorized Used for authentication. Must include a WWW-Authenticate header field and a challenge.
402 Payment Required Rarely used (and there is no standard convention)
403 Forbidden
404 Not Found The client was able to contact the web server, but the web server was unable find the requested resource (possibly because the client has a typo in the request). Compare with 410
405 Method not allowed
406 Not Acceptable Might be sent if a server cannot serve a document in one of the languages requested with the Accept-Language or encodings requested with the Accept-Encoding request headers
407 Proxy Authentication Required See also the Proxy-Authenticate and Proxy-Authorization headers.
408 Request Timeout
409 Conflict
410 Gone This resource was likely available in the past but was removed. Compare with 404.
411 LengthRequired
412 Precondition Failed 412 is returned when the ETag/If-Match mechanism detected a mid-air collision. Compare with status 304.
418 I'm a teapot Published in RFC 2324, 1 April 1998.
428 Precondition Required optional: clients cannot rely upon this status code to prevent «lost update» conflicts.
429 Too Many Requests User has sent too many requests in a given amount of time (rate limiting). This status might come with a Retry-After response header. Compare with Status code 503. See also with DoD (Denial of Service) attacks.
431 Request Header Fields Too Large server is unwilling to process the request because its header fields are too large.
413 Request Entity Too Large
414 Request Uri Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed See also the request header Expect.
426 Upgrade Required
500 Internal Server Error For example in an Apache Web Server because an .htaccess file is corrupt.
501 Not implemented The request method is either not understood by web server, or it is not implemented in the web server.
502 Bad Gateway A server that acts as a gateway or proxy received an invalid response from its upstream server.
503 Service Unavailable Should be sent with the Retry-After response header. Compare with status code 429.
504 Gateway Timeout
505 HTTP Version Not Supported
511 Network Authentication Required client needs to authenticate to gain network access.
When creating this list, the .NET enumeration System.Net.HttpStatusCode was helpful in the following PowerShell foreach statement:
foreach ($e in [enum]::GetValues([System.Net.HttpStatusCode])) { 
   "$($e.value__) $e"
}

429

HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600

See also

RFCs that deal with HTTP status codes seem to be
The Python class http.HTTPStatus

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1758199275, '216.73.216.150', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/web/HTTP/status-code/index(124): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78