2. HTTP Status Codes Explained

Every single request your browser sends to a server gets a reply carrying a three-digit HTTP status code, telling you exactly what happened. Reading these codes is one of the fastest ways to diagnose a broken page, a misconfigured CMS, or a blocked request — you will use them constantly once you start managing live websites. Codes are grouped into five classes by their first digit:

Code

Name

What It Means

Where You'll See It in CMS Work

100

Continue

The server has received the request headers and the client should proceed to send the body.

Rare; large file uploads (e.g., media library).

200

OK

The request succeeded and the server is returning the requested content.

A normal, healthy page or API load.

201

Created

The request succeeded and a new resource was created.

A REST API call that creates a new post/user.

204

No Content

The request succeeded but there is nothing to return.

A successful background save with no visible response.

301

Moved Permanently

The resource has a new, permanent URL; browsers and search engines should update their records.

A page/post slug changed, or http:// was redirected to https://.

302

Found (Temporary Redirect)

The resource is temporarily at a different URL.

Login redirects, maintenance-mode redirects.

304

Not Modified

The cached version the browser already has is still valid; no need to re-download.

Caching plugins returning a cached asset.

400

Bad Request

The server could not understand the request due to malformed syntax.

A broken form submission or malformed API call.

401

Unauthorized

Authentication is required and has failed or not been provided.

Trying to access wp-admin while logged out.

403

Forbidden

The server understood the request but refuses to authorise it.

A security plugin blocking a suspicious request; wrong file permissions.

404

Not Found

The server cannot find the requested resource.

A broken link, deleted page, or mistyped URL — the most common CMS error.

405

Method Not Allowed

The HTTP method used (GET/POST/etc.) is not supported for that URL.

Submitting a form to the wrong endpoint.

408

Request Timeout

The server timed out waiting for the request.

Very slow network or server under heavy load.

409

Conflict

The request conflicts with the current state of the resource.

Two editors saving the same post simultaneously.

410

Gone

The resource existed once but has been permanently removed.

A deliberately deleted page the owner wants removed from search results.

429

Too Many Requests

The client has sent too many requests in a given time (rate limiting).

A brute-force login attempt being blocked by a security plugin.

500

Internal Server Error

A generic server-side failure — something broke in the server's own code.

A fatal PHP error, often from a broken plugin/theme update — the dreaded 'white screen of death'.

502

Bad Gateway

A server acting as a gateway/proxy received an invalid response from an upstream server.

Misconfigured reverse proxy or overloaded hosting.

503

Service Unavailable

The server is temporarily unable to handle the request (overload or maintenance).

A site in maintenance mode, or a traffic spike overwhelming the host.

504

Gateway Timeout

A gateway/proxy did not get a timely response from an upstream server.

A slow database query or an overloaded host taking too long to respond.

 

As a rule of thumb: 2xx means success, 3xx means 'look elsewhere', 4xx means the client (browser/user) made a mistake or lacks permission, and 5xx means the server itself failed. When a client reports 'the site is down,' checking the status code in DevTools' Network tab (Module 1 Practical) is always the first diagnostic step.