"This sounds simple enough, but there's a big problem here: many high-traffic RSS feeds are created dynamically through server-side code, and the HTTP server won't automatically support conditional HTTP get for dynamic feeds. So, all too often the feed is rebuilt each and every time it's requested - which is obviously a huge waste of both bandwidth and CPU time. One solution is to write your own code to return a 304 based on the
If-Modified-Sinceheader, but in many cases it makes more sense to use a static feed that's rebuilt only when new information needs to be added to it.
However, while this works well for feeds that don't require many updates, it's not the best approach for feeds that need to be updated more frequently..."