410 Gone
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
- Resource intentionally removed
- Account deleted
- Content expired
How to Fix It (For Visitors)
- Resource no longer exists
- Look for alternatives
How to Fix It (For Developers/Admins)
- Use instead of 404 when resource is permanently gone
- Remove from search engine indexes
- Update internal links
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 7231 Section 6.5.9.