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)

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.

View the IANA HTTP Status Code Registry →