Jonno Downes (aka Jamtronix) has performed an experiment designed to work out how IE handles various HTTP status codes, following on from a discussion over at Intertwingly

As Aristotle pointed out in the discussion, it’s quite possible for a server to return a 404 or 500 HTTP status code, and IE (or any other browser) to render any provided HTML. Webservers have been serving custom 404 or 500 error pages for a long time now.

To add to Jonno’s experiment, I would like to tender Microsoft KB article 218155. This details the behavior of IE when seeing certain HTTP status codes, and friendly HTTP errors are turned on. If the HTTP body is less than a certain amount, then IE will substitute a "friendly" error page for certain codes. If the HTTP body is more than a certain amount, then IE will render the HTML sent by the server. Presumably this helps novice users who might otherwise be intimidated by a server that sets a HTTP status (e.g. 404), but provides nothing else.

The default threshold values are stored in: HKLM\Software\Microsoft\Internet Explorer\Main\ErrorThresholds and user specific overrides can be stored in a corresponding key under the HKCU hive.