HTTP 410 Gone: What It Means and When You See It
Quick Answer
HTTP 410 Gone means the resource is permanently deleted and will not be available again. Unlike 404, a 410 signals intentional removal.
HTTP 410 vs 404
HTTP 410 Gone signals that the resource existed but has been intentionally and permanently deleted. Unlike 404, a 410 tells search engines and clients not to look for this resource again. Search engines remove 410 pages from their index faster than 404 pages. Use 410 for: deleted user accounts, removed blog posts, discontinued products, and revoked API endpoints. Use 404 when you are unsure if the resource ever existed or may be restored.
Implementing 410 Gone
Track deleted resource IDs in a database or blocklist. Before returning 404, check if the slug or ID was previously deleted: if (await db.deleted.find(slug)) return res.status(410).json({ error: "Gone" }). In Next.js: return notFound() for 404, or send a 410 response in a route handler for explicitly deleted items. Set Cache-Control: max-age=86400 on 410 responses - clients and CDNs can cache the "gone" state.
Try the interactive tool
Convert any value instantly — no sign-up required
Frequently Asked Questions
Related Values
100
HTTP 100 Continue means the server has received the request headers and the client should proceed to send the request body. It is an interim response used to inform the client to continue.
101
HTTP 101 Switching Protocols indicates the server is switching to the protocol specified in the Upgrade header field. Commonly used when upgrading to WebSocket connections.
200
HTTP 200 OK is the standard success response. The request has succeeded and the server has returned the requested resource in the response body.
201
HTTP 201 Created means the request succeeded and a new resource was created as a result. The Location header typically points to the new resource URL.