Closed Bug 260500 Opened 20 years ago Closed 19 years ago

Browser requests favicon.ico on every page view

Categories

(Firefox :: Bookmarks & History, defect)

x86
All
defect
Not set
major

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: 32768, Assigned: vladimir+bm)

References

Details

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040911 Firefox/0.10 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20040911 Firefox/0.10 Recently Firefox was changed so that by default, it will search for /favicon.ico (in the root web path) on every page request, where a server doesn't have a /favicon.ico file. However, under this new behaviour the number of HTTP transactions is effectively doubled. For instance, every time I go to a new site Firefox will request the current URL as well as favicon.ico, getting a 404 error for favicon.ico. Unfortunately, it appears that this behaviour was implemented for compatibility with sites designed for Microsoft Internet Explorer. Firefox's current implementation of it is over-agressive and ultimately worse than IE's. Firefox sends a request for /favicon.ico file on every page load, rather than just once when the page is bookmarked. In my opinion, if we are going to add features in order to be compatible with sites designed for Microsoft Internet Explorer, then at the very least these features should not be excessively resource-intensive. Reproducible: Always Steps to Reproduce: 1. Go to a website which has no shortcut icons or favicons. Actual Results: Firefox searches for /favicon.ico on every page request. Expected Results: Firefox doesn't search for /favicon.ico on every page request.
I've noticed the same behaviour in my apache logs. You would expect Firefox to remember whether a site has a favicon or not for the current session.
I've got the same warnings in the Websphere logs. I would expect Firefox not to do that kind of TOTALLY WRONG assumption. To have a favicon you MUST have the following line in your HTML code: <LINK rel="Shortcut Icon" href="/images/myicon.ico"> The following log entry is displayed in WebSphere: [9/28/04 11:18:11:135 CEST] 6db66db6 OSEListenerDi E PLGN0021E: Servlet Request Processor Exception: Virtual Host/WebGroup Not Found : The web group /favicon.ico has not been defined
Have just noticed this as well. I thought Mozilla put an entry in a cache to record 404 favicons to stop them being continually 'fetched'. There is also a request every time the tab is selected which I have filed as bug 262626. I think this should be higher than minor - we could upset a lot of webmasters
This could be a dup. I would be surprised if there is an engineered solution to this at all, and to create one perhaps someone needs to draw up a specification or standard for favicons. I would be surprised if the one fetch per session satisfies everyone because it makes life difficult for a webmaster checking the favicons on a site. Perhaps the 404s could be cached for five minutes; I think that squid does something like this.
I would expect the check for favorite.ico to honor browser.cache.check_doc_frequency (which is set to 3 for me)
confirmed on "Mozilla/5.0 (Windows; U; Windows NT 5.0; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" my web server log is filling rapidly with these now.
My web error log has become unreadable thanks to Firefox 0.10.1 spam. This is a bug in itself, and I believe it is not an Apache bug. As a webmaster, I'm starting to hope that my users won't switch to Firefox too quickly... As a side note, I was horrified when I first learned that IE was doing a query for a file that is not even referenced, and with a proprietary format on top of that. I can't believe an open-source browser can do worse.
*** Bug 267323 has been marked as a duplicate of this bug. ***
Please REMOVE THE CODE that fetch the favicon.ico. As I explained before, Firefox is TOTALLY WRONG in fetching this image. I'm fed up with this bug that is annoying everyone. Read and learn this : http://msdn.microsoft.com/workshop/Author/dhtml/howto/ShortcutIcon.asp I hope it helps implementing this non standard thing.
Comment 10 is at least a near dup of different bug - icons referenced by LINK REL should take priority. I am not sure that end users would agree that no LINK REL implies no FAVICON; and many people would rather have server wide icons than none at all. Even if there is no consensus on a complete solution for the various issues, surely there is a lot in Comment 8 that a free world application should not repetitively fetch a non-referenced URL - I cannot believe that a Standard would ever be anything like that, or that this would find favour on its own merits.
Can we get rid of this error by just creating a dummy favicon.ico in the document root?
Yes and No. 1. It is not a "we" thing. The file must be provided by a webmaster, and he or she may not have access to the htdocs root of the server. 2. Many webmasters do not want to use this file and resent being pestered for it. 3. There appears to be no standard for favicons, so there is no "right thing" to do. In short, comments 1 8 and 10 apply, and in the absence of a good reason to the contrary, the repetitive fetching of /favicon.ico ought to be either throttled (my preference given that many end user like favicons) or turned off.
Confirmed on Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0 I get a daily report from my server logs about 404 errors to help catch site problems, but the report is now useless due to FireFox "favicon.ico" spam. My pages already have a favorites icon - why does FF need to spam me with extraneous HTTP hits? This should be higher than "minor"
I agree that this is an annoying feature of Firefox. There is no justification for it, IMHO. What's more, according to a status page (http://www.mozilla.org/status/2003-01-01.html) it was disabled back in 2002. Clearly, something has gone awry here. It is true to say that /favicon.ico is a de-facto 'standard', apparently unwritten. It does not follow that Firefox should implement it, because there /is/ a defined de-jure standard for doing this using the <link> tag. Firefox should implement the de-jure standard only IMO. I disagree with Comment 11.
(In reply to comment #15) > [ snip ] > > Firefox should implement the de-jure standard only IMO. I disagree > with Comment 11. In this context I agree that "Firefox should implement the de-jure standard only" (I am not sanguine, though, that this would be unopposed). I am perfectly happy to withdraw any part or all of comment 11, or re-cast it into an acceptable form, particularly if this would speed resolution of this bug
Severity: minor → major
The browser.chrome.favicons stop this behaviour...It must maybe be set to false by default...
In a site with some 270 .html files, I use five different icons (depending on the topic of the page). For each such page, I setup a LINK element for its icon. If I have a page without such an element, I don't expect any icon (unless the server forces one). I use these icons to identify my pages and myself. NONE of them are named "favicon.ico". As a user who surfs the Web, I'm not at all perturbed if a page has no icon. The "green bookmark" default provided by Mozilla is sufficient. Therefore, I must agree with comment #10 and disagree with comment #11. Frankly, IE did it wrong by looking for favicon.ico. Lacking a default icon from the server, the only icons that should be displayed are those explicitly requested by the Web pages or automatically provided from the internal working of the browser. Unrequested icons should not be fetched. I'm not even sure a server should throw up a default icon. When Netscape servers first started doing this, it was very confusing. I thought the owners of the affected Web sites were somehow connected to Time-Warner (owner of AOL, which owns Netscape). I later discovered this was merely a way for Netscape to advertise its servers. Thus, from the standpoint of both a Webmaster and a user, I think this needs to be fixed by removing the "feature".
Yes, I've got this problem too. I've currently put up a favicon.ico of about 3MB on my server :) I don't know how this got in, but I find it rediculous that this got in the final Firefox release. Why would anyone do such a weird thing? I don't even know what this file would be usefull for.
I have this problem too. I agree with all the comments above (except Comment #11). I hope the dev team fixes this soon. The severity really should be "Critical".
Flags: blocking-aviary1.1?
not really sure where this should go, but reassigning in the hope that it might get someone to look at it.
Assignee: firefox → vladimir+bm
Component: General → Bookmarks
QA Contact: general → mconnor
*** Bug 277922 has been marked as a duplicate of this bug. ***
We had lengthy buig discussions when this got implemented for Mozilla [SeaMonkey] once, and decided to have default-off pref for that, as it had been decided we don't want to cause excess traffic on web servers (you could even call that a form of spamming). <rant>Of course, once again, Firefox implements malicious "features" that were already discussed to death of SeaMonkey, just because Firefox devs are stupid enough to think they have to re-invent every wheel that has been thoughtfully thrown away in the develompent of a decent broswer</rant> To be serious again: Firefox 1.0 could very well be considered malware by people who hate their logs being really spammed by those ill-featured requests for a non-standard file (which is even in a non-standard file format, BTW). It's good to request icons that are referenced by <link rel=""> and they look quite nice as well, but we should never request files that aren't referenced anywhere. If we really have to (I doubt that), we should at least cache the information that it's 404.
Lost in the noise seems to be this fact: Internet Explorer _only_ requests favicon.ico when you add a page to your Favorites. That's why it's called a "favicon". Thus, as I see it, this is not a matter of Firefox being too aggressive, not caching 404 responses, etc. -- it simply shouldn't request favicon.ico _at all_ until you bookmark a page.
Can someone (who can say with some authority) clarify what the proposed fix for this bug is? When I voted for it, I assumed that the fix was to: 1) make no requests if there is an icon in a link tag 2) cache any 404s so the icon isn't repeatedly requested If, as many commenters think, the solution is not to request this file at all, I will remove my vote.
Right now, we don't hammer for favicon.ico if there's one referenced by the appropriate <link /> tag, so that's not an issue. Caching 404 in some way seems appropriate. While we're at it, in-memory cache by hostname for favicions found via the hammering system seems appropriate as well. Disabling favicons by default is not going to happen unless there's no other choice. That's a sledgehammer approach, and one that ignores the usability benefits of site icons for tabbed browsing.
(In reply to comment #26) > Disabling favicons by default is not going to happen unless there's no other > choice. That's a sledgehammer approach, and one that ignores the usability > benefits of site icons for tabbed browsing. I'd cosider requesting "favorites" (a.k.a. bookmarks) icons with every pageload to be a "sledgehammer approach". Bot well, it's just Firefox, which is used to the sledgehammer approach anyways - see it's development process.
for the benefit of Michael Newton - Mike Connor is a Firefox developer and can therefore can speak with some authority, while Robert Kaiser's suggestion of turning this off altogether should be a different bug (and rants about Firefox's development process in general shouldn't even be in bugzilla).
(In reply to comment #28) > for the benefit of Michael Newton - Mike Connor is a Firefox developer and can > therefore can speak with some authority, while Robert Kaiser's suggestion of > turning this off altogether should be a different bug (and rants about Firefox's > development process in general shouldn't even be in bugzilla). You're right, of course. And if I'd care personally for Firefox enough, I'd file a bug for that and look for the previous discussion of that. But I don't really care enough about Firefox personally (opposed to my interest in FF L10n as MLP leader, BTW, but it's my problem to deal with that "split personality" thing). Adhering to a non-standard made by someone without standard autority for some other purpose than what we are doing is not the nice way though, and I'm with mconnor that if we want to keep that so-called feature, we should at least try to reduce the amount of unwanted web traffic we cause throught that cr... er... function.
(In reply to comment #29) I believe the right fix for this bug would be to not query a file like "favicon.ico" that is not referenced. But I admit the description is not clear enough to lead directly to this fix. Since Firefox is not my main browser, I would not care about it if it was a good netizen. But this browser is getting really annoying. So, I filed bug 279891 to suggest a better behavior. Please report your votes to bug 279891 if you think the correct fix for this bug is to not query for favicon.ico when it is not referenced.
Arguably, there's a use for querying for favicon.ico, but the lack of decent caching for this makes it a feature that does quite a bit of infrastructure harm in the process of being a tab browsing usability gain. Though, why would browser vendors care about the resources of the internet's servers? ;-) Either way, the chances of getting favicon.ico support for tabs disabled is none. The best that can be hoped for is better (i.e. responsible) caching of the image and if it was a 404 (or other 400 series error). One request per host per client is alot better than the current situation where its repeatedly requested. Each one of those bogus 404 requests takes up a connection to, for example, an Apache worker that could be serving data. (and since a server only his a finite number of workers.) BTW, even addons.update.mozilla.org is dropping support for favicon via <link> in favor of /favicon.ico, see Bug 279004. and Comment #5 of that bug even suggests doing it for mozilla.org itself.
"Each one of those bogus 404 requests takes up a connection to, for example, an Apache worker..." It also takes up one of a limited number of connections from the browser. Even if we don't care about impact on servers, this also has an impact on users, particular those with slower connections. "BTW, even addons.update.mozilla.org is dropping support for favicon via <link> in favor of /favicon.ico" That's up to the UMO folks - if in future they want different icons for different bits, they can add a few more unnecessary subdomains to the hostname. :)
Note: the bug in question was morphed into fixing the link. It makes no sense to kill the <link> tag in this case.
Even though mconnor has WONTFIXED the other bug, I still think what I said in bug 279891 comment #1 would be an idea to think through. What I basically said is add good caching for favicon.ico and don't request it at all in standards mode, only in quirks mode. That way, we would at least not "force" standards-compliant web designers to put up a completely non-standard file. Those who can write up standards compliant pages should know how to insert a <link> tag to get the icon.
Issues: [1] There are 2 bugs here. One is that the request is being repeated ONCE FOR EACH HIT; the other is that it is being repeated TWO TO FOUR TIMES PER HIT. I just downloaded Firefox and went to 3 links at http://www.dnsstuff.com, and there were 6 favicon.ico hits (per a packet sniffer). There should have been a minimum of 0 hits and a maximum of 1. [2] This bug is wreaking havoc for users of my website www.dnsstuff.com . Due to spammers harvesting E-mail addresses, I have to rate limit my users. Because of this bug, the rate limiting system will see 2-4 bogus hits for every one legitimate hit. If the site sees such high usage in a short time period, it blocks the IP. My recommendations: [1] I am considering blocking FireFox users (remember, each bogus favicon.ico hit uses up about 1K of bandwidth), just returning a page explaining the problem. [2] Redirect www.dnsstuff.com/favicon.ico to www.mozilla.org/favicon.ico. The problem with this, though, is that it would end up being a DDoS attack (if every website did it, Mozilla's site would almost certainly be unusable). [3] Get confirmation that this bug is going to be fixed in such a way that the \favicon.ico file is only requested at MOST once per session. -Scott
(In reply to comment #35) > Issues: > > [1] There are 2 bugs here. One is that the request is being repeated ONCE FOR > EACH HIT; the other is that it is being repeated TWO TO FOUR TIMES PER HIT. Not true. I use Live HTTP headers [http://livehttpheaders.mozdev.org/] to inspect the HTTP request/response and there is only 1 request of favicon.ico per page view. Please avoid discussion here. Bugzilla is not a discussion forum.
(In reply to comment #36) I know of what I speak. I've looked at many, many log file entries as a result of this bug. In every case I've seen with Firefox, there have been 2-4 favicon.ico hits for each real hit. This may be due to something unusual about what Firefox is seeing (for example, the 404 wasn't getting a true HTML page back, it was getting plain text), but it definitely was happening. And yes, I have confirmed this with a packet sniffer. Try going to http://backup.dnsstuff.com and going to about 5-10 pages, and you should more favicon.ico hits than the number of pages you go to. In any case, I've redirected /favicon.ico on the main site to www.mozilla.com/favicon.ico, as it won't have the negative effect I was afraid it would (I was assuming all those 39,000 /favicon.ico hits I got yesterday would be directed; fortunately, this bug doesn't cause re-tries if Firefox gets the icon). -Scott
*** Bug 281265 has been marked as a duplicate of this bug. ***
This bug does harm beyond needlessly requesting the favicon.ico file: there are sites where `/', and thus `/favicon.ico', are protected by HTTP AUTH (.htaccess). This means that if a user has access to, say, `internal.company.com/public' but not `internal.company.com/', he will be prompted with a HTTP `Basic' AUTH popup after every single click on the page! As Internet Explorer doesn't show this behaviour, it turns out to be hard to convince the webmasters to prevent it.
I like comment #34. Of course, a link tag in quirks mode should override. Comment #39 also makes a point. If Firefox must get "/favicon.ico" and that triggers an HTTP AUTH, Firefox should do without it rather than confusing the user with an authentication dialog just for the sake of an icon.
I agree that this is very bad form for a user agent that is supposed to be geared towards standards. MSIE perhaps did this in 4.0? 5.0? Either way, I don't recall ever seeing it happen in any of the IE versions I've used over the past years and IE 5.5 and 6.0 never do this aggressive searching. Firefox is almost going backwards in this "design decision". It encourges lazyness from webmasters who just dump favicon.ico in their webroot and magically expect it to work and fills logs with 404s and is generally a huge pain. If people want a favicon on their site, they should specify it using the relevant tags, it should not be the job of the user agent to go probing for it.
This behavior is silly coming from a browser that claims to comply with standards. The favicon.ico support is brain-damaged.
Directly linked to that, even when people use an external direct link to a file (non html), firefox try to get a favicon, which is useless, since this person won't even see a single page on my website.
This bug was opened on 2004-09-20, which is almost a year ago. Is this going to be fixed? Or shall we ban Firefox or mod_rewrite all favicon.ico requests to mozilla.org? Microsoft introduced this standard and if you want to implement it too, you are supposed to follow it, not to mis-implement it. IE only requests favicon.ico if the user adds the site to his Favorites. This allows webmasters to estimate how many people added their site to Favorites. Yo say "The Browser, Reloaded". I say, sloppy, ignorant, and slow development.
Flags: blocking-aviary1.1? → blocking1.8b4?
not able to reproduce on trunk. minusing unless someone can show it's still a trunk problem.
Flags: blocking1.8b4? → blocking1.8b4-
I'm not seeing this anymore in Firefox 1.06 (Linux). I used to get multiple favicon requests with previous versions, but now it appears to behave in a reasonable fashion. Good job!
(In reply to comment #46) > I'm not seeing this anymore in Firefox 1.06 (Linux). I _do_ see this in Firefox-1.0.6 on Linux Fedora Core 3 on i686, downloaded from http://download.mozilla.org/?product=firefox-1.0.6&os=linux&lang=en-US installed to "$HOME/local/mozilla-1.0.6". Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 I have deleted $HOME/.mozilla for testing so I have clean profile, then went to http://www.obietnicewyborcze.pl/ and I can see 404 entry in Apache's error log for every link I click in menu. However I _do_not_ see this bug in today's nightly build downloaded from http://ftp.scarlet.be/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-1.0+.en-US.linux-i686.tar.gz installed to "$HOME/local/mozilla-1.1". Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b4) Gecko/20050720 Firefox/1.0+ When I go to this page with new profile there only is one error log entry - following link clicks do not generate 404 errors in logs. PS. If you can not reproduce this bug check if you use http proxy - you shouldn't. PS2. It is platform:all bug, not WindowsXP only.
This works for me using Firefox 2005072206 trunk on windows 2000. Would be good to know how it was fixed, but given that I'm the third confirmation that it works, I guess it's safe to mark this WFM. If anyone can reproduce this with a recent trunk (i.e. not 1.0.x) build, they should reopen it.
Status: NEW → RESOLVED
Closed: 19 years ago
OS: Windows XP → All
Resolution: --- → WORKSFORME
> If anyone can reproduce this with a > recent trunk (i.e. not 1.0.x) build, they should reopen it. Does this mean that this issue will never be fixed in the 1.0.x versions of Firefox?? I am testing with: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.12) Gecko/20050919 Firefox/1.0.7 This is my webserverlog: 84.160.49.118 - - [22/Sep/2005:23:17:47 +0100] "GET /test/srv/input?eingabe=1&tim=141 HTTP/1.1" 200 79 84.160.49.118 - - [22/Sep/2005:23:17:47 +0100] "GET /test/jsps/result.jsp HTTP/1.1" 200 57 84.160.49.118 - - [22/Sep/2005:23:17:47 +0100] "GET /favicon.ico HTTP/1.1" 404 986 84.160.49.118 - - [22/Sep/2005:23:17:47 +0100] "GET /favicon.ico HTTP/1.1" 404 986 84.160.49.118 - - [22/Sep/2005:23:18:05 +0100] "GET /test/srv/input?eingabe=2&tim=156 HTTP/1.1" 200 79 84.160.49.118 - - [22/Sep/2005:23:18:05 +0100] "GET /test/jsps/result.jsp HTTP/1.1" 200 57 84.160.49.118 - - [22/Sep/2005:23:18:05 +0100] "GET /favicon.ico HTTP/1.1" 404 986 84.160.49.118 - - [22/Sep/2005:23:18:05 +0100] "GET /favicon.ico HTTP/1.1" 404 986 84.160.49.118 - - [22/Sep/2005:23:18:11 +0100] "GET /test/jsps/rechts.jsp HTTP/1.1" 200 1510 84.160.49.118 - - [22/Sep/2005:23:18:11 +0100] "GET /favicon.ico HTTP/1.1" 404 986 Despite of the 404 error firefox requests favicon at every request! (not from the beginning but after some time)
"Does this mean that this issue will never be fixed in the 1.0.x versions of Firefox??" It means that it shouldn't be reopened based on the fact that it isn't fixed in 1.0.x - the status of bugs in 1.0.x versions is handled with keywords. However, given that 1.0.x will soon be obsoleted by 1.5, and their policy is only to take important security fixes in 1.0.x versions, it's unlikely to ever be fixed in a 1.0.x release.
sorry for bugspam, long-overdue mass reassign of ancient QA contact bugs, filter on "beltznerLovesGoats" to get rid of this mass change
QA Contact: mconnor → bookmarks
It's 2015, can we get this fixed now?
I agree! I have LOTS of tabs. It seems that every favicon is loaded, rather than cached, for every tab, even if the tab is not visible. consequently, it takes about 6 minutes for firefox to load, even though only a few dozen of the favicons are visible, and, I doubt that the favicons have changed.
You need to log in before you can comment on or make changes to this bug.