HTTP Status Codes / 4xx HTTP Status Codes / HTTP 410

410 Gone

This is an educational reference page about HTTP 410 Gone. The page itself is served as 200 OK so it can be indexed as HTTP documentation.

The target resource is no longer available at the origin server, and the condition is likely to be permanent.

Specification

Registered in the IANA HTTP Status Code Registry as Gone. Defined in RFC 9110, Section 15.5.11.

What it means

HTTP 410 Gone means the resource was removed and is not expected to return. RFC 9110 says to use 404 instead when the server does not know whether the removal is permanent. 410 tells clients, caches, and other site owners that links to the URL should be removed.

When to use it

Common causes

How to fix it

Examples

Retired API version

GET /v1/orders HTTP/1.1
Host: api.example.com

HTTP/1.1 410 Gone
Content-Type: application/problem+json

{
  "type": "https://api.example.com/problems/version-retired",
  "title": "API v1 was retired on 2026-06-30",
  "status": 410,
  "detail": "Use /v2/orders."
}

Common mistakes

Developer notes

RFC 9110 says you do not need to mark every removed resource as gone, or keep the 410 forever. It is a maintenance signal for clients, caches, and people who link to you.

Questions

What does HTTP 410 Gone mean?

HTTP 410 means the resource was removed and the removal is likely permanent.

Should I use 404 or 410 for deleted pages?

Use 410 when you removed the page on purpose and it will not return. Use 404 when you are not sure.

See also

Header and content rules

RFC 9110 adds no header or content rule specific to 410. The 4xx class rules also apply. See 410 in the response obligations table.

4xx client error – the request contains bad syntax or cannot be fulfilled


HTTP status code lookup
REST API status code chooser
cURL command generator
By Ping Now, a website/API/service uptime monitor
Data from Wikipedia