HTTPError.net

The fastest way to diagnose, understand, and fix any HTTP status code

410 Gone

Fault: Client
TL;DR

Resource permanently deleted with no forwarding address.

The resource is no longer available and will not be available again.

What HTTP 410 Gone Means

The resource is no longer available and will not be available again.

Resource permanently deleted with no forwarding address.

Common Causes

How to Fix It (For Visitors)

How to Fix It (For Developers/Admins)

410 vs 404

Both tell clients the resource is not available. Use 410 when you removed something deliberately and it will not come back (expired listings, deleted accounts); use 404 when you do not know or the resource may return. Search engines tend to drop 410 URLs a little faster.

Returning a 410 Gone (Code Examples)

If you build APIs or web apps, here is how to send an HTTP 410 response and how to test for it:

Node.js (Express)

app.get('/resource', (req, res) => {
  res.status(410).json({ error: 'Gone' });
});

Python (Flask)

@app.route('/resource')
def resource():
    return jsonify(error='Gone'), 410

PHP

<?php
http_response_code(410);
header('Content-Type: application/json');
echo json_encode(['error' => 'Gone']);

Check the status with curl

curl -I https://example.com/resource
# Look for: HTTP/1.1 410 Gone

Frequently Asked Questions

What does HTTP 410 Gone mean?

Resource permanently deleted with no forwarding address. In short: The resource is no longer available and will not be available again.

Is 410 Gone a client or server error?

410 is a 4xx client-error code, so the request itself needs to change. The server is running normally and is rejecting the request as it was sent by the browser, app, or API client.

How do I fix a 410 Gone error?

Use instead of 404 when resource is permanently gone. Remove from search engine indexes. Update internal links.

Official Specification

The 410 Gone status code is defined in RFC 9110 Section 15.5.11.

View the IANA HTTP Status Code Registry →