HTTP status codes:

Here is the list of all the valid HTTP - status codes, and the corresponding phrases, that PHP scripting language can generate when using the $http_response_code parameter in the header() function.
The invalid codes (for example: 199) generate a 500 Internal Server Error response.

To send a specific HTTP status code, the prototype of the header() function is:
void header(string $string, bool $replace, int $http_response_code)

The 3 parameters are:
Examples of use:
The string parameter does not contain any colon character
/* The server will ouput:
 * the response status "HTTP/1.1 204 No Content" */
header('x', TRUE, 204);
The string parameter contains a response header, of which the syntax is:
<string header-name><char colon><char space><string header-value>
/* The server will ouput:
 * the response status "HTTP/1.1 405 Method Not Allowed"
 * and the response header "Allow: GET, HEAD" */
header('Allow: GET, HEAD', TRUE, 405);

List of status codes and phrases generated by PHP:

100 Continue101 Switching Protocols102 Processing
153 Too Many Requests
197 Too Many Requests
200 OK201 Created202 Accepted203 Non-Authoritative Information204 No Content205 Reset Content206 Partial Content207 Multi-Status208 Already Reported
212 Too Many Requests213 Too Many Requests214 Too Many Requests215 Too Many Requests216 Too Many Requests217 Too Many Requests218 Too Many Requests219 Too Many Requests220 Too Many Requests221 Too Many Requests222 Too Many Requests223 Too Many Requests224 Too Many Requests225 Too Many Requests226 Too Many Requests227 Too Many Requests228 Too Many Requests229 Too Many Requests230 Too Many Requests231 Too Many Requests232 Too Many Requests
234 Too Many Requests
236 Too Many Requests237 Too Many Requests238 Too Many Requests
240 Too Many Requests241 Too Many Requests242 Too Many Requests
244 Too Many Requests245 Too Many Requests246 Too Many Requests
250 Too Many Requests251 Too Many Requests252 Too Many Requests253 Too Many Requests254 Too Many Requests255 Too Many Requests256 Too Many Requests257 Too Many Requests258 Too Many Requests259 Too Many Requests260 Too Many Requests261 Too Many Requests262 Too Many Requests263 Too Many Requests
265 Too Many Requests266 Too Many Requests
268 Too Many Requests269 Too Many Requests270 Too Many Requests271 Too Many Requests272 Too Many Requests273 Too Many Requests
275 Too Many Requests276 Too Many Requests277 Too Many Requests
279 Too Many Requests280 Too Many Requests281 Too Many Requests282 Too Many Requests283 Too Many Requests284 Too Many Requests
288 Too Many Requests289 Too Many Requests290 Too Many Requests291 Too Many Requests292 Too Many Requests293 Too Many Requests
295 Too Many Requests296 Too Many Requests297 Too Many Requests
299 Too Many Requests300 Too Many Requests301 Too Many Requests302 Too Many Requests303 Too Many Requests304 Too Many Requests305 Too Many Requests
307 Too Many Requests308 Too Many Requests309 Too Many Requests
311 Too Many Requests312 Too Many Requests313 Too Many Requests314 Too Many Requests315 Too Many Requests316 Too Many Requests317 Too Many Requests318 Too Many Requests319 Too Many Requests320 Too Many Requests
325 Too Many Requests
327 Too Many Requests328 Too Many Requests329 Too Many Requests330 Too Many Requests331 Too Many Requests332 Too Many Requests
335 Too Many Requests336 Too Many Requests337 Too Many Requests338 Too Many Requests339 Too Many Requests340 Too Many Requests341 Too Many Requests342 Too Many Requests343 Too Many Requests344 Too Many Requests345 Too Many Requests346 Too Many Requests347 Too Many Requests348 Too Many Requests
350 Too Many Requests351 Too Many Requests352 Too Many Requests
354 Too Many Requests355 Too Many Requests
359 Too Many Requests360 Too Many Requests361 Too Many Requests362 Too Many Requests363 Too Many Requests
366 Too Many Requests367 Too Many Requests368 Too Many Requests369 Too Many Requests
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Authentication Required408 Request Timeout409 Conflict410 Gone411 Length Required412 Precondition Failed413 Request Entity Too Large414 Request-URI Too Long415 Unsupported Media Type416 Requested Range Not Satisfiable417 Expectation Failed
421 Misdirected Request422 Unprocessable Entity423 Locked424 Failed Dependency
426 Upgrade Required
428 Precondition Required429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
454 Too Many Requests455 Too Many Requests456 Too Many Requests457 Too Many Requests458 Too Many Requests459 Too Many Requests460 Too Many Requests461 Too Many Requests462 Too Many Requests
465 Too Many Requests
472 Too Many Requests473 Too Many Requests474 Too Many Requests475 Too Many Requests476 Too Many Requests477 Too Many Requests478 Too Many Requests
482 Too Many Requests483 Too Many Requests484 Too Many Requests485 Too Many Requests
488 Too Many Requests
500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Too Many Requests505 Too Many Requests506 Too Many Requests507 Too Many Requests508 Too Many Requests
510 Too Many Requests511 Too Many Requests
532 Too Many Requests
534 Too Many Requests
591 Too Many Requests592 Too Many Requests593 Too Many Requests

Get the list in these other formats:

Format Description
Text code[HT]phrase[LF] ...
CSV code,"phrase"[LF] ...
XML <?xml version="1.0" encoding="UTF-8"?> <http-status-codes> <status> <code>code</code> <phrase>phrase</phrase> </status> ... </http-status-codes>
PHP $a_http_status_codes = array( code => 'phrase', ... );
Javascript var oHttpStatusCodes = { code: 'phrase', ... };
JSON {"oHttpStatusCodes": { "code": "phrase", ... }}
MySQL INSERT INTO `http_status_codes` (`code`, `phrase`) VALUES (code, 'phrase'), ...;

Hypertext Transfer Protocol:

Resource Description
RFC 2616 (HTML) HTTP/1.1
RFC 2616 (Text)
RFC 4918 (HTML) HTTP Extensions for Web Distributed Authoring and Versioning
RFC 4918 (Text)