I found myself in a favicon pickle just the other day. I noticed one of the only non-CDN assets we had was favico.ico, which was being requested from origin servers along with every request, putting an unneeded load on Apache. Ideally we might put static assets like that on something like Nginx, but short term I was looking into how I could reduce the (albeit small) load created by favicon requests without changing the application architecture.<p>Ruling out Nginx, the pickle was that I should probably rewrite requests to domain.com/favico.ico to cdn.domain.com/favico.ico. But that rewrite has just as much or more httpd overhead as just serving the favico, with an extra client-side performance hit as the client has to do an extra http request to follow the 301.<p>I ended up with just using a <link> tag in <head>, which should at least get modern browsers off Apache's back. But I wish there was a more complete solution.