What Are HTTP Status Lines?

A Complete List of HTTP Status Lines

Picture of a 404 ERROR message with construction cones
© hh5800 / Getty Images
Was this page helpful?

The HTTP status line is the term given to the HTTP status code (the actual code number) when accompanied by the HTTP reason phrase1 (the short description).

You can read more about HTTP status codes in my What Are HTTP Status Codes? piece. I also keep a list of HTTP status code errors (4xx and 5xx) along with some tips on how to fix them.

Note: Though technically incorrect, HTTP status lines are often referred to as simply HTTP status codes.

HTTP Status Code Categories

As you can see below, HTTP status codes are three-digit integers. The very first digit is used to identify the code within a specific category - one of these five:

  • 1XX: Informational - the request was accepted or the process is continuing.
  • 2XX: Confirms that the action completed successfully or was understood.
  • 3XX: Redirection - something else needs to take place in order to complete the request.
  • 4XX: Client error that indicates that the request can't complete or contains the wrong syntax.
  • 5XX: Server error that indicates that the server failed to complete a request that was supposedly valid.

Applications that understand HTTP status codes don't have to know all of the codes, which means an unknown code also has an unknown HTTP reason phrase, which won't give the user much information. However, these HTTP applications do have to understand the categories, or classes as I've described them above.

If the software doesn't know what the specific code means, it can at the very least identify the class. For example, if a 490 status code is unknown to the application, it can treat it as a 400 because it's in the same category, and can then assume that there's something wrong with the client request.

HTTP Status Lines (HTTP Status Codes + HTTP Reason Phrases)

Status CodeReason Phrase
100Continue
101Switching Protocols
102Processing
200OK
201Created
202Accepted
203Non-Authoritative Information
204No Content
205Reset Content
206Partial Content
207Multi-Status
300Multiple Choices
301Moved Permanently
302Found
303See Other
304Not Modified
305Use Proxy
307Temporary Redirect
308Permanent Redirect
400Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Time-out
409Conflict
410Gone
411Length Required
412Precondition Failed
413Request Entity Too Large
414Request-URI Too Large
415Unsupported Media Type
416Request Range Not Satisfiable
417Expectation Failed
421Misdirected Request
422Unprocessable Entity
423Locked
424Failed Dependency
425Unordered Collection
426Upgrade Required
428Precondition Required
429Too Many Requests
431Request Header Fields Too Large
451Unavailable For Legal Reasons
500Internal Server Error
501Not Implemented
502Bad Gateway
503Service Unavailable
504Gateway Time-out
505HTTP Version Not Supported
506Variant Also Negotiates
507Insufficient Storage
508Loop Detected
510Not Extended
511Network Authentication Required

[1] The HTTP reason phrases that accompany HTTP status codes are only recommended. A different reason phrase is allowed per RFC 2616 6.1.1. You might see HTTP reason phrases replaced with a more "friendly" description or in a local language.

Unofficial HTTP Status Lines

The HTTP status lines below might be used by some third-party services as error responses but they are not specified by any RFC.

Status CodeReason Phrase
103Checkpoint
420Method Failure
420Enhance Your Calm
440Login Timeout
449Retry With
450Blocked by Windows Parental Controls
451Redirect
498Invalid Token
499Token Required
499Request has been forbidden by antivirus
509Bandwidth Limit Exceeded
530Site is frozen

Note: It's important to remember that while HTTP status codes may share the same numbers with errors messages found in other contexts, like with Device Manager error codes, it doesn't mean they're related in any way.