Proxy-Authentication breaks many applications

When I first joined Office, I worked on the team responsible for delivering Help, Templates, and ClipArt into the client applications. As we were testing our work in various simulated customer environments, we found a big problem. At least one big customer (tens of thousands of licenses) had a network environment in which their users…


Warnings on Incomplete Downloads

Recently, a user sent in the following screenshot of a security warning they encountered when attempting to download the Microsoft Zune software: Obviously, we immediately attempted to reproduce the reported problem, and we found we were unable to do so – the program was recognized as legitimate software and no security warnings were shown. However,…


IE9 Standards Mode Accepts only text/css for stylesheets

I recently encountered a blog that isn’t looking right in IE9: The site renders just fine in other browsers, and when the page is put into Compatibility View by ticking the icon in the address bar: What’s going on here?  It’s clear that a stylesheet isn’t being applied, but why not? While IE9’s F12 Developer…


HTTPS and Keep-Alive Connections

As we explore network performance on the “real-world web”, one bad pattern in particular keeps recurring, and it’s not something that our many IE9 Networking Performance Improvements alone will resolve. The bad pattern is the use of Connection: close semantics for HTTPS connections. In this bad pattern, a website allows only a single request and…


Content-Length in the Real World

Earlier in IE9, we tried to change the WinINET networking component to reject as incomplete any HTTP responses for which the Content-Length header specified more bytes than the server actually sent back. It turns out that some sites and applications expect to be able to specify an incorrect Content-Length without the client raising a fuss….


Friendly HTTP Error Pages

Internet Explorer 5 and later will show a  “Friendly” HTTP Error page if the server returns certain HTTP Error status codes with a short message body. The intent is to replace a terse server message like this one: …with a page which may be slightly more helpful to the average user, like this one: Unfortunately,…


IE and the Accept Header

RFC 2616 describes the Accept request header as follows: The Accept request-header field can be used to specify certain media types which are acceptable for the response. Accept headers can be used to indicate that the request is specifically limited to a small set of desired types, as in the case of a request for…