Http protocol give the content-type in the http headers, so the originating server determines how your browser is going to handle it, not the client browser. I think the problem is that the 'file://' protocol probably does use the registry keys above since it's not getting any HTTP headers.