why IE will only let you save as BMP

Sometimes you go to save an image from a web page and the only option available to you is BMP, even though the image is obviously not a BMP. People often wonder why, so I will tell you.

For whatever reason (perf, architectural simplicity, I dunno) the designers of mshtml decided to keep images around in memory as BMPs. When you go to save an image in IE, the first thing we do is check to see if the image is in the cache. If the image is not in the cache, the only representation we have of the image (without downloading it again) is mshtml's internal representation, which is a BMP. Mostly people see this when their cache is full. The easiest way to fix this is to clear your cache. Another symptom of this is nothing happens when you View->Source on a web page.