Udostępnij za pośrednictwem


Still Gone? Ok – got it!

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 "offender":

Windows RSS Platform/1.0 (MSIE 7.0; Windows NT 5.1)

It's listed with 282 hits. At first I was surprised to see the Windows RSS Platform in that list since we specifically added 410 GONE support. But then it dawned on me: That's not the Windows RSS Platform!

Well, it is, but it isn't. The above User-Agent string is the one from the Beta 2 Preview release (Jan 2006) of the Windows RSS Platform. The User-Agent string changed in Beta 2 (April 2006) to the final string:

Windows-RSS-Platform/1.0 (MSIE 7.0; Windows NT 5.1)

I described the string here a year ago. See the difference? The dashes instead of spaces! Why the change? Well it turns out that the product token of the User-Agent string may not include spaces, since spaces delimit product tokens and comments.

So it turns out that there are still people running the Beta 2 Preview version of the Windows RSS Platform, or some application is "faking" the User-Agent string.

Either way, I just verified that the RTM version of the Windows RSS Platform handles 410 GONE correctly. I used the following Powershell script:

$fm = new-object -comobject "Microsoft.FeedsManager"

$feed = $fm.rootfolder.CreateFeed("gone","https://www.intertwingly.net/blog/index.rss")

$feed.SyncSetting

$feed.Download()

$feed.SyncSetting

When you run it you will see that the SyncSetting property is changed from 0 to 2 after the Download() call. Note that the SyncSettings are defined as:

typedef enum {     

FSS_DEFAULT = 0,     

FSS_INTERVAL = 1,     

FSS_MANUAL = 2

} FEEDS_SYNC_SETTING;

FSS_DEFAULT - Use the system-defined DefaultInterval value.

FSS_INTERVAL - Use the Interval value defined by the feed.

FSS_MANUAL - Do not automatically update the feed. Use Download to manually update the feed.

which means that the feed initially uses the default sync interval to get updated. Upon download, the setting is changed to Manual since a feed that is GONE should no longer be updated automatically.

- Walter vonKoch

Comments

  • Anonymous
    July 29, 2007
    Very good . You are doing a great job.

  • Anonymous
    August 19, 2007
    Thanks man, just what I was looking for. Thanks so much...

  • Anonymous
    December 06, 2007
    thank you ...... thank you for nice work .....

  • Anonymous
    January 18, 2008
    Thanks man, just what I was looking for. Thanks so much...

  • Anonymous
    January 18, 2008
    thank you ...... thank you for nice work .....

  • Anonymous
    January 18, 2008
    Very good . You are doing a great job.

  • Anonymous
    January 18, 2008
    Very good . You are doing a great job.

  • Anonymous
    January 18, 2008
    I hope this will help :). Thank you!

  • Anonymous
    March 20, 2008
    Useful as always. I'm learning a great deal. Thanks

  • Anonymous
    April 21, 2008
    Thank you for sharing this information.

  • Anonymous
    June 01, 2008
    Thanks for the article. I really enjoyed reading it.

  • Anonymous
    June 07, 2008
    Thanks man, just what I was looking for. Thanks so much...

  • Anonymous
    June 22, 2008
    I tried to use it in my website www.wakacyjny.pl but without effect :(

  • Anonymous
    July 26, 2008
    Upon download, the setting is changed to Manual since a feed that is GONE should no longer be updated automatically.

  • Anonymous
    August 01, 2008
    Thanks, An investment in knowledge always pays the best interest.

  • Anonymous
    August 17, 2008
    It is realy interesting. Thanks for information