If your site is one of the world's top three most-visited websites and every pageview generates a single extra request, then you bet your ass it's going to cause problems.
this one also "works" with CSS background images by the way. I had one case during development here with ~10 elements that had a background image set to url() (in a style attribute. don't ask. please). And of course, that page was really taxing the server doing a complex calculation.
Of course, finding this was actually a good thing, because we could not only fix the empty background image but als fix the whole page so that a) the processing is done in the background and b) the result is cached.
So if you are careful about your architecture, an empty image url or two really is a non-issue. If on the other hand, you are not careful, 10 empty image urls on the wrong page can really take down your machine.
There IS a difference between 50 and 500 concurrent users.
alarmist headline - it's a minor inconvenience at best. possibly difficult to track down why there are such duplicate requests going to your site and where the empty img tag is, but it's hardly going to "destroy your site".
Consider a very popular website which runs on the last generation of software; that is, it is susceptible to the C10K problem (tl;dr: thread/process-based concurrency starts to choke at ~10,000 simultaneous connections, largely regardless of vertical scaling). The server, or each server in the pool, might run at 75% load normally.
My favorite thing about this article is that it made me stop and think through why the bug would actually exist in so many browsers.
I can make sense of the IE bug: "" doesn't start with a protocol, like "http://, so it's not a full URL. It doesn't start with "/", so it's not relative to the server root. Therefore, it must be a relative URL, and the browser tries to download the image named "" in the same directory as the page.
But the Safari and Chrome problem baffles me. To have happened in Safari, Chrome, and Firefox, it must be a pretty straightforward mistake, but I just can't see it. Anyone else have guesses?
(Safari and Chrome admittedly use the same rendering engine, but still, Firefox doesn't.)
Depending on your web framework, this may cause problems unrelated to load. If the framework identifies components in the DOM tree via auto-generated IDs, the additional requests can cause these to be regenerated. In your JavaScript, or even somewhere in the server side code which didn't expect further requests, the old value might still be used, breaking the site.
[+] [-] benologist|16 years ago|reply
[+] [-] rgrove|16 years ago|reply
[+] [-] pilif|16 years ago|reply
Of course, finding this was actually a good thing, because we could not only fix the empty background image but als fix the whole page so that a) the processing is done in the background and b) the result is cached.
So if you are careful about your architecture, an empty image url or two really is a non-issue. If on the other hand, you are not careful, 10 empty image urls on the wrong page can really take down your machine.
There IS a difference between 50 and 500 concurrent users.
[+] [-] there|16 years ago|reply
[+] [-] gamache|16 years ago|reply
And then traffic doubles.
It's easy to imagine the hurt.
[+] [-] moss|16 years ago|reply
I can make sense of the IE bug: "" doesn't start with a protocol, like "http://, so it's not a full URL. It doesn't start with "/", so it's not relative to the server root. Therefore, it must be a relative URL, and the browser tries to download the image named "" in the same directory as the page.
But the Safari and Chrome problem baffles me. To have happened in Safari, Chrome, and Firefox, it must be a pretty straightforward mistake, but I just can't see it. Anyone else have guesses?
(Safari and Chrome admittedly use the same rendering engine, but still, Firefox doesn't.)
[+] [-] teye|16 years ago|reply
[+] [-] thomas11|16 years ago|reply
I learned this the hard way recently while working on an Apache Wicket app, see my mailing list post: http://old.nabble.com/Nasty-problem-with-%22component-not-fo....
[+] [-] gstar|16 years ago|reply
Something like <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">
[+] [-] Auzy|16 years ago|reply
[+] [-] ojilles|16 years ago|reply
[+] [-] cfp|16 years ago|reply
Wasn't destroying my site, but good to fix regardless.
[+] [-] therealist|16 years ago|reply
[deleted]