Dave Winer asks about automatic unsubscribing from a feed, and it’s an interesting question. If a feed is no longer updated, how should the publisher tell aggregators to unsubscribe from it? I think the simplest solution is for the server to return HTTP status code 410, as recommended here and here. An aggregator that receives a 410 for a specific feed should then automatically unsubscribe from it.
This will be supported in the next build of FeedDemon, and I believe it’s already supported by several other aggregators. In FeedDemon’s case, the user will be prompted to unsubscribe, since automatically unsubscribing would remove the feed from FeedDemon’s cache – losing the user’s history of that feed’s postings. If the user chooses not to unsubscribe, FeedDemon will disable updating for that feed.
Nick,
How would someone tell the Webserver to return a 410? I looked on my web host and I did not notice any way to flag that the web server should return a 410. Most web servers would return a 404 if the file is not found. Should you support this also?
404 is supported in a different way. The aggregator should come back to look if the file is still there every day or every week. (Not every hour.)
410 can be specified in a .htaccess file: redirect gone /atom
I guess Dave wants some XML solution again, just like last time when he wanted XML for redirecting feeds instead of 301.
Mike, it really depends on your server and/or choice of server-side language as to how to return a 410. With ASP, for example, you can simply use:
Response.Status = “410 Gone”
With PHP, you could use:
header(“Status: 410 Gone”);
A 404 is a different situation. Status 404 means the resource can’t be found, but unlike 410, it doesn’t necessarily mean that it’s permanently gone.
Is there a way to tell a feed reader that an RSS feed´s location has changed? Does FeedDemon automatically update the feed´s URl if I send a “301 Move Permanently” header?
Yes, when FeedDemon encounters a 301, it updates the channel’s feed URL to point to the redirected location.
> the user will be prompted to unsubscribe
> FeedDemon will turn off automatic updating for that feed.
If the feed has gone it would also be good if it was no longer included in manual updates (Shift+F5). Also, if FeedDemon is running unattended in the background it might cause problems if it got stuck at a dialog asking the user to unsubscribe.
For these reasons, one idea would be for the feed to remain in the Channel Group but have a flag that marked it as unsubscribed. This could possibly be indicated to the user by dimming the feed’s icon or something like that.
Michael, this is exactly what I plan to do. Regardless of whether you choose to unsubscribe from a feed, any feed that returns a 410 will automatically appear grayed out in FeedDemon’s channel bar, and it will never be updated again even if the user performs a manual update.
Nick,
In PHP you should use:
header(‘HTTP/1.1 410 Gone’);
Not what you said ;-)
Morten, you can use both. It’s fine what Nick said.