"It's a necessary evil because even if you don't care about it the
browser will still request it, so it's better not to respond with a
404 Not Found." --
http://developer.yahoo.com/performance/rules.html#favicon
-- Yoan
I have been seeing the same problem (web.py unrelated but still
interesting) and I have to add that ignoring it will make many browsers
behave like mindless goblins hammering the iron portals of your shiny
webfortress. I often see as much as 4 GET /favicon.ico 404 successive
log entries in one second from Firefox. I never experimented with
setting a cache-header but I think it would be worth experimenting with
if useless connections are really an issue for you :) hopefully they
will give up for a while after the first try (the problem is that when
they bookmark your site they continue to hammer your /favicon.ico every
now and then to see if that icon changed, even when not visiting it).
This comes from an age-old tradition, btw, that favicons were located at
/favicon.ico and in a certain format (image/vnd.microsoft.icon---yes,
they invented it). In this day and time I doubt if any browser still
does not support the newer <link rel="shortcut icon" ...> but of course
they all want to be backwards compatible and when such a clause is
missing from your document they hope maybe you're still using the old
way of serving favicons (microsoft's original way). Luckily pretty much
all browsers now also support other image types than vnd.microsoft.icon
(such as type="image/gif" or even png).
Greets,
b^4