HTTP Error 410: Gone: I found this page today when searching for a refresher on the 410 status code. It means “gone.” Forever. Not just “not found” right now, but forever more. Gone, baby.
We should use status code 410 more.
As far as I can tell, it’s the forgotten stepchild of error 404 (Resource not found). Error 410 means Resource gone, as in, a resource used to exist at this location, but now it’s gone. Not only is it gone, but I don’t know (or I don’t want to tell you) where it went. If I knew where it went, and I wanted to tell you, I would use error 301 (Permanent redirect) and any smart client would simply redirect to the new address. But 410 means Resource gone, no forwarding address. Train gone sorry.
Sam Ruby brings up a good point about when it would be a great time to use 410.
[…] you would think that any decent aggregator would respect a 410, wouldn’t you?
I’ve long since removed my scraped feed, and marked it gone.
Despite this, a number of aggregators continue to relentlessly poll for changes.
I had this same problem when I removed the RSS feeds for comments on individual posts:
[…] this brings up the question of how to notify people that I’m doing this. How do you notify RSS users? The solution is pretty simple I guess — I’m going to tack an entry to the top of this XML file that just explains that we’re not maintaining these feeds anymore, rebuild them all one last time, and then leave the files out there long enough for everyone to ping them again.
But when do you pull the files? When I delete these 4,600 XML files, do I redirect requests for them to another feed with a single entry that explains that they’re gone? Are there best practices for this?