Toolman

HTTP 410 — Gone

4xx Client Error

What it means

The resource existed but has been deliberately and permanently removed.

What to do about it

Use 410 instead of 404 when you know content is gone for good — Google drops 410 URLs from the index faster than 404s.

Where it sits

410 belongs to the 4xx family: The request contains something the server will not or cannot process. The fix is normally on the client side.

HTTP/1.1 410 Gone

Checking it yourself

# see the status code and headers only
curl -sI https://example.com/path

# follow redirects and print each hop
curl -sIL -o /dev/null -w "%{http_code} %{url_effective}\n" https://example.com/path

# JavaScript
const r = await fetch(url);
console.log(r.status, r.statusText);

How this code behaves

Cacheable by defaultYes — per RFC 9110, this status is cacheable unless headers say otherwise.
Safe to retryNo. Retrying an identical request will produce the same result — the request itself must change.
Effect on search indexingGoogle removes the URL faster than for a 404, because 410 asserts the removal is deliberate.

Returning 410 correctly

# nginx
return 410;

# Express
res.status(410).json({ error: 'Gone' });

# Go
w.WriteHeader(410)

# Python (Flask)
return jsonify(error='Gone'), 410;

Frequently asked questions

What does HTTP 410 mean?

The resource existed but has been deliberately and permanently removed.

How do I fix a 410 error?

Use 410 instead of 404 when you know content is gone for good — Google drops 410 URLs from the index faster than 404s.

Is 410 a client or server problem?

A client problem by definition — the request needs to change. That said, a 4xx can still be the server’s fault if it is misconfigured and rejecting valid requests.

Other 4xx codes

All HTTP status codes