Finer points of serving feeds
Kevin Railsback: As InfoWorld's CTO, Chad Dickerson, posted here, InfoWorld has been noticing a lot of congestion at the top of the hour when thousands of RSS clients all hit our servers simultaneously to check for updated feeds. We've done a number of things to alleviate this
Excellent! Kevin, since you have popped the hood anyway, here are a few things to consider:
- redirecting using HTTP 301 instead of HTTP 302. Infoworld is currently redirecting from news.rdf to news.xml with a HTTP 302 which is a temporary redirect. Consumers will follow the redirect, but will continue to issue requests against the original URL, resulting in double the number of requests.
- supporting either gzip or deflate encoding
- Adding a encoding declaration in the XML prolog or http headers. Omitting this information is typically is an indication that encoding issues haven't been thought through. Infoworld feeds will likely will have problems with «Iñtërnâtiônàlizætiøn» and with characters like «‘’“”–—».
- Using a content-type of application/xml instead of text/xml. This is related to the encoding/charset discussion above.
The feedvalidator doesn't currently provide this level of feedback as it was thought that providing too much information would cause people to see the issues reported as non-problems (all of items mentioned above are legal, at least until the first non-ASCII character is encountered) and ignore more important issues.
Perhaps the feedvalidator should have a separate interface, or perhaps even a checkbox, which would enable this level of information to be included.