Skip to main content
.com domains from $2.99 — free WHOIS privacy on every name

Engineering Glossary · HTTP

Status Codes Are Instructions, and 304 Is the One Worth Chasing

You want to know what your server is actually telling browsers and crawlers, rather than what you assume it is telling them.

The short answer

HTTP status codes are the three-digit verdict on every response: 2xx succeeded, 3xx relocated, 4xx blames the request, 5xx blames the server. Machines act on them, which is why the wrong code is a behavioural bug and not a cosmetic one.

The one most often overlooked is 304 Not Modified. A correctly configured validator lets a browser ask whether its cached copy is still good and receive a response with no body at all, which is the cheapest successful request there is. If your repeat visitors are getting 200s where they should be getting 304s, you are paying to resend bytes they already hold.

By the HostingFast team · Reviewed 12 August 2026

100+

Terms defined properly

2 min

Read time, end to end

Plain

English, no hand-waving

24/7

Engineers on shift

The everyday set: 200 OK, 301 moved permanently, 302 moved temporarily, 304 not modified, 403 forbidden, 404 not found, 500 server error, 503 service unavailable. Search engines read these as instructions rather than as diagnostics.

Because machines act on them the codes reach well past debugging. A 301 passes ranking signals across, a 503 with a Retry-After header tells a crawler to come back rather than to drop the page, and the wrong code teaches a lesson that persists for months.

Reading your own codes, three ways

curl -I gives you the code for one URL in one line. The network panel in browser dev tools gives you one per resource for a whole page, which is where you spot the redirect nobody meant to ship. A crawler gives you the site-wide distribution, which is where patterns appear.

Server logs are the fourth and the most honest, because they include the requests nobody was watching. A quick count of codes by frequency across a day of logs will usually surprise whoever ships the site.

304 and the conditional request

When a response carries an ETag or a Last-Modified header, a browser can revalidate instead of re-downloading: it sends the validator back and the server answers 304 with no body. Configure this properly and repeat visits get dramatically cheaper without any change to the page itself.

Watch for the anti-pattern where an application regenerates a validator on every request. The browser asks, the value has changed for no real reason, and it downloads a byte-identical file — a 200 where a 304 belonged, on every asset, forever.

Deploy and maintenance codes

During a deployment, a 503 with a Retry-After header is the correct answer. It tells crawlers the outage is temporary and gives them a time to return, which protects the index in a way that a 200-with-an-apology-page does not.

The corresponding sin is the soft 404: an error page returned with a 200. Search engines then index a page that does not exist, and every one of those is a URL competing with your real content while helping nobody.

Codes on this platform

Redirects, error documents and cache headers are configurable per site, and server-level LiteSpeed caching sits in front of PHP so the cheap responses are answered without waking your application at all.

The 99.9% uptime target is monitored around the clock, and sustained 5xx patterns generally surface through platform monitoring before a customer reports them. What the platform cannot see for you is a 200 returned on a page that should be a 404.

An aisle of racks inside the London datacentre

Signals, not diagnostics

Every entry here is written on the assumption that machines are reading your output and acting on it, which changes what counts as a correct answer.

LiteSpeed caching is compiled into the server rather than added by plugin, so cached responses never touch PHP in the first place.

  • 100+ entries, machine behaviour included
  • Codes treated as instructions, not labels
  • Wired into 301 Redirect, .htaccess and Uptime
  • Written by the engineers who read the logs

Why HostingFast

Standard on every plan

304 given its due

The cheapest successful response there is, and the configuration mistake that suppresses it.

Status Codes, as behaviour

Every code framed by what a machine does next, rather than by what it means in the abstract.

Four ways to read them

curl, dev tools, a crawler and your logs — each answering a different question.

Deploy-time correctness

503 with Retry-After during a release, and why a friendly 200 is the expensive alternative.

Soft 404s named

Error pages returned as successes, and the index pollution that follows.

Continues into its neighbours

301 Redirect, 404 Error and .htaccess follow directly.

Quick Start

From order to online

  1. 1

    Check a single URL first

    curl -I the page in question. One line tells you the code, the cache headers and whether a redirect is involved.

  2. 2

    Audit a whole page in dev tools

    Open the network panel and look down the status column. Unintended 301s and 302s on assets show up immediately.

  3. 3

    Count codes across your logs

    Aggregate a day of requests by status. Patterns are the thing to look for, not individual entries.

  4. 4

    Verify revalidation is working

    Request an asset twice with the validator returned. A second 200 where a 304 was expected is bytes you are paying to resend.

Built In

Loaded onto every plan

  • Per-site redirect and error document configuration
  • LiteSpeed caching in front of PHP on every plan
  • Cache header control from the panel and .htaccess
  • Per-site PHP version switching
  • 99.9% uptime target, monitored around the clock
  • Free SSL issued and renewed automatically
  • Daily backups with one-click restores
  • SSH, Git and Composer on developer-focused plans

Frequently Asked

What people ask us most often

Why does 304 matter for performance?

Because it is a successful response with no body. A browser holding a cached copy sends its validator, the server confirms nothing has changed, and the transfer is a few hundred bytes of headers instead of the whole file. If your repeat visitors are receiving 200s on unchanged assets, you are resending content they already have on every visit.

Which status code should a site return during a deployment?

503, with a Retry-After header giving a time to come back. That tells crawlers the condition is temporary and protects the pages in the index. A maintenance page served with a 200 tells them the page has genuinely become a maintenance notice, which is a much more expensive message to send.

What is a soft 404 and why is it a problem?

An error page returned with a 200 status. The page says not found and the response says success, so search engines index it as real content. The result is a growing set of indexed URLs that lead nowhere, competing with the pages you actually want found.

What uptime do you commit to, and what happens in a bad month?

99.9% is the target, monitored around the clock. If a month falls below it because of a fault on our side, our terms entitle you to a pro-rated credit — ask and we apply it. We deliberately call it a target rather than a contractual SLA, and faults usually surface through platform monitoring before anyone reports them.

Keep reading

  • 301 Redirect

    The permanent redirect, and how to keep a chain down to a single hop.

  • .htaccess

    The per-directory configuration file where most of these codes get set.

  • How to Test Your Website Speed

    Getting a real speed figure instead of a feeling, with the tools named.

  • Magento Hosting

    Plans with the memory and PHP headroom Magento genuinely needs.

  • Ecommerce Hosting

    Fast, secure foundations for online stores on any platform.

Changing hosts? Run through our checklist first.

A straightforward sequence for a switch your visitors never feel: which files move first, how to shift email across without losing a single message, the right moment to repoint DNS, and the two mistakes behind almost all the downtime we get asked to rescue.

You'll get the checklist email, then occasional pointers on keeping a site running fast. Unsubscribe the moment you want out — the privacy policy covers the rest.

Send the code you meant to send.

Scaling from one site to a rack of servers is an account change here, not a migration you have to survive.

View Magento Hosting plans