Following up on my idea of using short-lived feeds to cover breaking news, as Sam Ruby points out, after a feed disappears, some aggregators don't stop trying to download them. This wouldn't cause a site that had only published a few short-lived feeds much trouble. But if a major news site started publishing short-lived feeds for all of it's breaking news stories, having thousands of feed readers constantly pestering it for increasing numbers of deleted feeds every hour, it could become a little troublesome.
Fortunately, HTTP also has a solution to the problem. When a short-lived feed is deleted, rather than simply deleting it and acting like it never existed, publishers should configure their servers to return a 410 result code to requests for the deleted feeds. When a file that doesn't exist is requested via HTTP, the HTTP result code is 404, which means that the file wasn't found. The 410 result code means not that the file wasn't found, but that a file which used to exist has been deleted. While either code might be good enough to tell feed readers to stop polling for the feed, the 410 code is better, because it makes it clear that the feed wasn't just accidentally moved or deleted temporarily, but that the publisher has actively chosen to state that it's gone and not coming back.
If short-lived feeds become common, it will become increasingly important for feed readers to handle 404s and 410s correctly. I would suggest that the correct response to either would be to stop polling the feed and let the user know what code the server is returning. Then the user can decide whether to attempt to resume polling the feed or not. I would recommend against automatically deleting the feed from the subscription list, because the user might still want to read some of the last data retrieved form the feed.
October 6th, 2006 at 1:02 pm
[...] While writing recently about short-lived feeds for breaking news and aggregator support for deleted feeds, it occurred to me that publishers may not want to delete their short-lived feeds once they’ve finished posting to them. What do you do when you’re not going to update a feed anymore, but you don’t want to delete it? How do you tell aggregators to stop polling? [...]