HTML ReferencesLesson #85

HTTP Messages

Every time a browser asks a server for something, the server sends back a short code that says how it went. This code is called an HTTP status code.

HTTP Response Status Codes

Every time a browser asks a server for something, the server sends back a short code that says how it went. This code is called an HTTP status code.

HTTP status codes tell developers if a request worked, was sent somewhere else (redirected), or failed.

The server sends a status code for every request, even when you do not see it. The most common code is 200 OK, which means everything worked.

Below is a list of HTTP status codes that can be returned:

Informational Codes (100-199)

CodeDescription
100 ContinueThe server has received the request headers, and the client should proceed to send the request body
101 Switching ProtocolsThe requester has asked the server to switch protocol
103 Early HintsUsed with the Link header to allow the browser to start preloading resources while the server prepares a response

Successful Codes (200-299)

CodeDescription
200 OKThe request is OK (this is the standard response for successful HTTP requests)
201 CreatedThe request has been fulfilled, and a new resource is created
202 AcceptedThe request has been accepted for processing, but the processing has not been completed
203 Non-Authoritative InformationThe request has been successfully processed, but is returning information that may be from another source
204 No ContentThe request has been successfully processed, but is not returning any content
205 Reset ContentThe request has been successfully processed, but is not returning any content, and requires that the requester reset the document view
206 Partial ContentThe server is delivering only part of the resource due to a range header sent by the client

Redirection Codes (300-399)

CodeDescription
300 Multiple ChoicesA link list. The user can select a link and go to that location. Maximum five addresses
301 Moved PermanentlyThe requested page has moved to a new URL
302 FoundThe requested page has moved temporarily to a new URL
303 See OtherThe requested page can be found under a different URL
304 Not ModifiedIndicates the requested page has not been modified since last requested
307 Temporary RedirectThe requested page has moved temporarily to a new URL
308 Permanent RedirectThe requested page has moved permanently to a new URL

Client Error Codes (400-499)

CodeDescription
400 Bad RequestThe request cannot be fulfilled due to bad syntax
401 UnauthorizedThe request was a legal request, but the server is refusing to respond to it. For use when authentication is possible but has failed or not yet been provided
402 Payment RequiredReserved for future use
403 ForbiddenThe request was a legal request, but the server is refusing to respond to it
404 Not FoundThe requested page could not be found but may be available again in the future
405 Method Not AllowedA request was made of a page using a request method not supported by that page
406 Not AcceptableThe server can only generate a response that is not accepted by the client
407 Proxy Authentication RequiredThe client must first authenticate itself with the proxy
408 Request TimeoutThe server timed out waiting for the request
409 ConflictThe request could not be completed because of a conflict in the request
410 GoneThe requested page is no longer available
411 Length RequiredThe "Content-Length" is not defined. The server will not accept the request without it
412 Precondition FailedThe precondition given in the request evaluated to false by the server
413 Content Too LargeThe server will not accept the request, because the request body is too large
414 URI Too LongThe server will not accept the request, because the URI is too long. Occurs when you convert a POST request to a GET request with a long query information
415 Unsupported Media TypeThe server will not accept the request, because the media type is not supported
416 Range Not SatisfiableThe client has asked for a portion of the file, but the server cannot supply that portion
417 Expectation FailedThe server cannot meet the requirements of the Expect request-header field
429 Too Many RequestsThe client must has sent too many requests in a given time period

Server Error Codes (500-599)

CodeDescription
500 Internal Server ErrorA generic error message, given when no more specific message is suitable
501 Not ImplementedThe server either does not recognize the request method, or it lacks the ability to fulfill the request
502 Bad GatewayThe server was acting as a gateway or proxy and received an invalid response from the upstream server
503 Service UnavailableThe server is currently unavailable (overloaded or down)
504 Gateway TimeoutThe server was acting as a gateway or proxy and did not receive a timely response from the upstream server
505 HTTP Version Not SupportedThe server does not support the HTTP protocol version used in the request
511 Network Authentication RequiredThe client needs to authenticate to gain network access

Interactive Code Examples

HTTP Messages Example

html
Try it Yourself
Live code example for HTTP Messages. Click Try it Yourself to test.
<!DOCTYPE html>
<html>
<head>
  <style>
    body {
      font-family: system-ui, -apple-system, sans-serif;
      padding: 24px;
      background: #f8fafc;
      color: #0f172a;
    }
    .demo-card {
      background: #ffffff;
      padding: 24px;
      border-radius: 16px;
      border: 1px solid #e0e7ff;
      box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.08);
      max-width: 540px;
    }
    h2 { color: #4f46e5; margin-top: 0; font-size: 22px; }
    p { color: #64748b; line-height: 1.6; }
    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #4f46e5;
      color: #ffffff;
      border: none;
      padding: 10px 20px;
      border-radius: 9999px;
      font-weight: 700;
      font-size: 13px;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(79, 70, 229, 0.25);
    }
    .btn:hover { background: #4338ca; }
  </style>
</head>
<body>
  <div class="demo-card">
    <h2>HTTP Messages</h2>
    <p>This is a live runnable interactive demonstration for <strong>HTTP Messages</strong>.</p>
    <button class="btn" onclick="alert('Testing HTTP Messages!')">
      <span>Interactive Action</span> &rarr;
    </button>
  </div>
</body>
</html>