intertwingly

It’s just data

Intermittent IE failures


Ziv Caspi: None of the pages on your site can be viewed by IE (except for the Atom feed).

This is the second report I’ve gotten on this.

What makes this even more frustrating is that I know that my site can be viewed by IE, as I get a slow but steady bit of AdSense revenue from IE users, and I’m not being able to reproduce the problem myself.  Via email, Ziv now tells me that he can’t reproduce the problem either.

What would be helpful would be if somebody can find a way to reliably reproduce the problem.  What also would be helpful (actually, probably even more so) would be if somebody could report the values from HTTP_ACCEPT and HTTP_USER_AGENT from this page on a machine where the failure is reproducible.

Background

I want to continue to serve small, embedded, and resizable SVG images to people who use browser that support such things.  This includes Gecko based browsers (like Firefox), Opera, and recent versions of WebKit (the engine inside Safari).  Such browsers will only display such content if the page is served as application/xhtml+xml.  IE doesn’t currently support SVG, nor will it render any page served as application/xhtml+xml, at least not without plug-ins such as MozzIE.

Being an optimist, I don’t want to blacklist browsers like IE and Safari, I want to make a check based on capabilities, and that’s what the HTTP accept header is meant for.  Unfortunately, the accept header that MSIE sends is less that fully helpful:

image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/x-shockwave-flash, application/x-silverlight, */*

Note that application/xhtml+xml isn’t listed.  Nor is text/html.  What is listed is a number of image formats (Firefox, by contrast lists only one image format: image/png), a number of proprietary formats, and the catch-all */*.

*/* may be technically accurate, but completely misses the point.  By way of contrast, Google’s crawler sends out an accept header which simply states */*, and they mean it.

So, for some time now, and in deference to IE users, I have looked for image/gif and used it as a proxy for saying “I support text/html”.  Not perfect, but it worked for me.

But apparently not consistently for everybody.  I’m looking for better suggestions.