Just over a year ago, I permanently redirected all my feeds their Atom 1.0 equivalents. Several months later, I quietly converted all those redirects to 410 Gone.
Checking back to see how effective this has been, here is a list of user agents that are still attempting to fetch those missing feeds: by name and by full User-Agent. The numbers down the left are the number of requests over the past week.
I’ll point out the obvious to Anne: redirection was always meant as a temporary hack, “advertising” to people that they should move from RSS to Atom. There is no need to do that anymore, so the feeds really can be marked as “gone” now... as Sam should have done from the beginning (but didn’t, just out of kindness to his readers).
If you subtract away reality, I could argue that it was the original redirect that was wrong as those were two different URIs and ipso facto two different resources.
If you are willing to overlook that minor detail, then both index.html and index.atom are the same resource, and yes, that resource still exists, and I could permanently redirect all requests for formats that I no longer support to either URI equally.
But if you add back in reality, none of this matters if popular applications like Google Reader ignore both status codes.
Is a redirect appropriate if the format of the information has changed? There’s nothing in the RSS spec that says that RSS parsers have to understand Atom 1.0 as well (although personally I think that’s a good idea!)
The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that source be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server’s site. It is not necessary to mark all permanently unavailable resources as “gone” or to keep the mark for any length of time — that is left to the discretion of the server owner.
“Server owner” = Sam
“Intentionally unavailable” = Sam decided
“Discretion of the server owner” = Sam can decide whatever he damn well pleases
Looks like Aggrevator is on the list of tools that don’t respect 410. I’ll have to add a fix that detects 410 and sets the status of a feed to dead then ensures that we never refresh dead feeds (unless the user explicitly asks for it )...
With so many feedreaders (including the one I use) that don’t do anything about many HTTP codes, it makes me think we need a tool that goes through all the entries in an (exported) OPML file and reports what ones have moved or gone, etc. And maybe produce a new OPML file to re-import to a feedreader.
Sam Ruby has been responding to RSS requests with permanent redirects and gone statuses for a year . It appears nobody is listening. My Rmail code worked. Hundreds of Google Reader users are being denied Sam’s wit. Anybody working at Google...
I’m always amazed at how little HTTP is used in the real world. I think it is a true testament to the “good enough” rule of the internet. I would love to see a report (and I have little clue where I could obtain such a document) representing the...
Sam Ruby pointed out HTTP 410 GONE support in feed readers or rather the lack thereof. He links to the list of User-Agent strings that continue to request the feed that is gone. One of the entries points at the Windows RSS Platform as an...