Skip to content

Http Status Code

Published: at 05:33 PM

Table of contents

Open Table of contents

Introduction

HTTP status codes are standard response codes given by web servers on the internet. They are used to indicate the status of a request made by a client to the server. In this post, I will explain the most common HTTP status codes and their meanings.

Explanation of HTTP Status Codes

1xx Informational

2xx Success

3xx Redirection

4xx Client Errors

5xx Server Errors

Code

The following code snippets are the frequently used in my projects.

PHP

<?php
  public static $HTTP_CONTINUE = ['code' => 100, 'message' => 'Continue'];
  public static $HTTP_SWITCHING_PROTOCOLS = ['code' => 101, 'message' => 'Switching Protocols'];
  public static $HTTP_PROCESSING = ['code' => 102, 'message' => 'Processing'];
  public static $HTTP_EARLY_HINTS = ['code' => 103, 'message' => 'Early Hints'];
  public static $HTTP_OK = ['code' => 200, 'message' => 'OK'];
  public static $HTTP_CREATED = ['code' => 201, 'message' => 'Created'];
  public static $HTTP_ACCEPTED = ['code' => 202, 'message' => 'Accepted'];
  public static $HTTP_NON_AUTHORITATIVE_INFORMATION = ['code' => 203, 'message' => 'Non-Authoritative Information'];
  public static $HTTP_NO_CONTENT = ['code' => 204, 'message' => 'No Content'];
  public static $HTTP_RESET_CONTENT = ['code' => 205, 'message' => 'Reset Content'];
  public static $HTTP_PARTIAL_CONTENT = ['code' => 206, 'message' => 'Partial Content'];
  public static $HTTP_MULTI_STATUS = ['code' => 207, 'message' => 'Multi-Status'];
  public static $HTTP_ALREADY_REPORTED = ['code' => 208, 'message' => 'Already Reported'];
  public static $HTTP_IM_USED = ['code' => 226, 'message' => 'IM Used'];
  public static $HTTP_MULTIPLE_CHOICES = ['code' => 300, 'message' => 'Multiple Choices'];
  public static $HTTP_MOVED_PERMANENTLY = ['code' => 301, 'message' => 'Moved Permanently'];
  public static $HTTP_FOUND = ['code' => 302, 'message' => 'Found'];
  public static $HTTP_SEE_OTHER = ['code' => 303, 'message' => 'See Other'];
  public static $HTTP_NOT_MODIFIED = ['code' => 304, 'message' => 'Not Modified'];
  public static $HTTP_TEMPORARY_REDIRECT = ['code' => 307, 'message' => 'Temporary Redirect'];
  public static $HTTP_PERMANENT_REDIRECT = ['code' => 308, 'message' => 'Permanent Redirect'];
  public static $HTTP_BAD_REQUEST = ['code' => 400, 'message' => 'Bad Request'];
  public static $HTTP_UNAUTHORIZED = ['code' => 401, 'message' => 'Unauthorized'];
  public static $HTTP_FORBIDDEN = ['code' => 403, 'message' => 'Forbidden'];
  public static $HTTP_NOT_FOUND = ['code' => 404, 'message' => 'Not Found'];
  public static $HTTP_METHOD_NOT_ALLOWED = ['code' => 405, 'message' => 'Method Not Allowed'];
  public static $HTTP_NOT_ACCEPTABLE = ['code' => 406, 'message' => 'Not Acceptable'];
  public static $HTTP_PROXY_AUTHENTICATION_REQUIRED = ['code' => 407, 'message' => 'Proxy Authentication Required'];
  public static $HTTP_REQUEST_TIMEOUT = ['code' => 408, 'message' => 'Request Timeout'];
  public static $HTTP_CONFLICT = ['code' => 409, 'message' => 'Conflict'];
  public static $HTTP_GONE = ['code' => 410, 'message' => 'Gone'];
  public static $HTTP_LENGTH_REQUIRED = ['code' => 411, 'message' => 'Length Required'];
  public static $HTTP_PRECONDITION_FAILED = ['code' => 412, 'message' => 'Precondition Failed'];
  public static $HTTP_PAYLOAD_TOO_LARGE = ['code' => 413, 'message' => 'Payload Too Large'];
  public static $HTTP_URI_TOO_LONG = ['code' => 414, 'message' => 'URI Too Long'];
  public static $HTTP_UNSUPPORTED_MEDIA_TYPE = ['code' => 415, 'message' => 'Unsupported Media Type'];
  public static $HTTP_RANGE_NOT_SATISFIABLE = ['code' => 416, 'message' => 'Range Not Satisfiable'];
  public static $HTTP_EXPECTATION_FAILED = ['code' => 417, 'message' => 'Expectation Failed'];
  public static $HTTP_IM_A_TEAPOT = ['code' => 418, 'message' => "I'm a teapot"];
  public static $HTTP_MISDIRECTED_REQUEST = ['code' => 421, 'message' => 'Misdirected Request'];
  public static $HTTP_UNPROCESSABLE_ENTITY = ['code' => 422, 'message' => 'Unprocessable Entity'];
  public static $HTTP_LOCKED = ['code' => 423, 'message' => 'Locked'];
  public static $HTTP_FAILED_DEPENDENCY = ['code' => 424, 'message' => 'Failed Dependency'];
  public static $HTTP_TOO_EARLY = ['code' => 425, 'message' => 'Too Early'];
  public static $HTTP_UPGRADE_REQUIRED = ['code' => 426, 'message' => 'Upgrade Required'];
  public static $HTTP_PRECONDITION_REQUIRED = ['code' => 428, 'message' => 'Precondition Required'];
  public static $HTTP_TOO_MANY_REQUESTS = ['code' => 429, 'message' => 'Too Many Requests'];
  public static $HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = ['code' => 431, 'message' => 'Request Header Fields Too Large'];
  public static $HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = ['code' => 451, 'message' => 'Unavailable For Legal Reasons'];
  public static $HTTP_INTERNAL_SERVER_ERROR = ['code' => 500, 'message' => 'Internal Server Error'];
  public static $HTTP_NOT_IMPLEMENTED = ['code' => 501, 'message' => 'Not Implemented'];
  public static $HTTP_BAD_GATEWAY = ['code' => 502, 'message' => 'Bad Gateway'];
  public static $HTTP_SERVICE_UNAVAILABLE = ['code' => 503, 'message' => 'Service Unavailable'];
  public static $HTTP_GATEWAY_TIMEOUT = ['code' => 504, 'message' => 'Gateway Timeout'];
  public static $HTTP_HTTP_VERSION_NOT_SUPPORTED = ['code' => 505, 'message' => 'HTTP Version Not Supported'];
  public static $HTTP_VARIANT_ALSO_NEGOTIATES = ['code' => 506, 'message' => 'Variant Also Negotiates'];
  public static $HTTP_INSUFFICIENT_STORAGE = ['code' => 507, 'message' => 'Insufficient Storage'];
  public static $HTTP_LOOP_DETECTED = ['code' => 508, 'message' => 'Loop Detected'];
  public static $HTTP_NOT_EXTENDED = ['code' => 510, 'message' => 'Not Extended'];
  public static $HTTP_NETWORK_AUTHENTICATION_REQUIRED = ['code' => 511, 'message' => 'Network Authentication Required'];

Golang

const (
  HTTP_CONTINUE = 100
  HTTP_SWITCHING_PROTOCOLS = 101
  HTTP_PROCESSING = 102
  HTTP_EARLY_HINTS = 103
  HTTP_OK = 200
  HTTP_CREATED = 201
  HTTP_ACCEPTED = 202
  HTTP_NON_AUTHORITATIVE_INFORMATION = 203
  HTTP_NO_CONTENT = 204
  HTTP_RESET_CONTENT = 205
  HTTP_PARTIAL_CONTENT = 206
  HTTP_MULTI_STATUS = 207
  HTTP_ALREADY_REPORTED = 208
  HTTP_IM_USED = 226
  HTTP_MULTIPLE_CHOICES = 300
  HTTP_MOVED_PERMANENTLY = 301
  HTTP_FOUND = 302
  HTTP_SEE_OTHER = 303
  HTTP_NOT_MODIFIED = 304
  HTTP_TEMPORARY_REDIRECT = 307
  HTTP_PERMANENT_REDIRECT = 308
  HTTP_BAD_REQUEST = 400
  HTTP_UNAUTHORIZED = 401
  HTTP_FORBIDDEN = 403
  HTTP_NOT_FOUND = 404
  HTTP_METHOD_NOT_ALLOWED = 405
  HTTP_NOT_ACCEPTABLE = 406
  HTTP_PROXY_AUTHENTICATION_REQUIRED = 407
  HTTP_REQUEST_TIMEOUT = 408
  HTTP_CONFLICT = 409
  HTTP_GONE = 410
  HTTP_LENGTH_REQUIRED = 411
  HTTP_PRECONDITION_FAILED = 412
  HTTP_PAYLOAD_TOO_LARGE = 413
  HTTP_URI_TOO_LONG = 414
  HTTP_UNSUPPORTED_MEDIA_TYPE = 415
  HTTP_RANGE_NOT_SATISFIABLE = 416
  HTTP_EXPECTATION_FAILED = 417
  HTTP_IM_A_TEAPOT = 418
  HTTP_MISDIRECTED_REQUEST = 421
  HTTP_UNPROCESSABLE_ENTITY = 422
  HTTP_LOCKED = 423
  HTTP_FAILED_DEPENDENCY = 424
  HTTP_TOO_EARLY = 425
  HTTP_UPGRADE_REQUIRED = 426
  HTTP_PRECONDITION_REQUIRED = 428
  HTTP_TOO_MANY_REQUESTS = 429
  HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431
  HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451
  HTTP_INTERNAL_SERVER_ERROR = 500
  HTTP_NOT_IMPLEMENTED = 501
  HTTP_BAD_GATEWAY = 502
  HTTP_SERVICE_UNAVAILABLE = 503
  HTTP_GATEWAY_TIMEOUT = 504
  HTTP_HTTP_VERSION_NOT_SUPPORTED = 505
  HTTP_VARIANT_ALSO_NEGOTIATES = 506
  HTTP_INSUFFICIENT_STORAGE = 507
  HTTP_LOOP_DETECTED = 508
  HTTP_NOT_EXTENDED = 510
  HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511
)