IE8 passes Acid2?

It sure looks like it. If you happen to have a Windows box with IE8 Beta 1 on it, have a look. Acid2 Test

If you don't, check out this rendering screen shot...
IE8 Acid2 rendering

Looks good, right? I want you to try a little experiment. I want you to log into your webserver. I want you to go to your "miscellaneous files" directory. (I know you have one, we all do.) Enter wget http://www.webstandards.org/files/acid2/test.html (Or fetch http://www.webstandards.org/files/acid2/test.html if you're the FreeBSD type.) Find a Windows box with IE8, any will do. (Tested on XP, XP x64 and Vista x86.) Now, visit your own site. (Or use the one here. If you do, take the time to verify the md5/sha1/sha256 sum of my copy against the original...) As an example...
IE8 Acid2 rendering

Can you spot the difference?


In the interest of completeness, I used Wireshark to grab the headers from webstandards and my own server.

From the official site...

Request Headers

GET /files/acid2/test.html HTTP/1.1
Accept: */*
Referer: http://www.webstandards.org/action/acid2/
Accept-Language: en-us
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: www.webstandards.org
Connection: Keep-Alive
Cache-Control: no-cache


Response Headers

HTTP/1.1 200 OK
Date: Sat, 22 Mar 2008 21:03:26 GMT
Server: Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635
Last-Modified: Tue, 14 Mar 2006 23:03:05 GMT
ETag: "12702ae-37d8-763b7c40"
Accept-Ranges: bytes
Content-Length: 14296
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

From my personal server:

Request:

GET /~douglas/test.html HTTP/1.1
Accept: */*
Referer: http://---elided---:8080/~douglas/
Accept-Language: en-us
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)
Host: ---elided---:8080
Connection: Keep-Alive


Response:

HTTP/1.1 200 OK
Date: Sat, 22 Mar 2008 21:12:36 GMT
Server: Apache/2.2.8 (FreeBSD) mod_ssl/2.2.8 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.5 with Suhosin-Patch
Last-Modified: Tue, 14 Mar 2006 23:03:05 GMT
ETag: "997685-37d8-40efc763b7c40"
Accept-Ranges: bytes
Content-Length: 14296
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

... no appreciable difference.


Now, I think this is pretty telling. But, not quite satisfied that there's not some minor quirk of my server, I put test.html into the same folder structure as is on webstandards.org and played with my hosts file a little...

127.0.0.1 localhost
172.16.0.222 www.webstandards.org

IE8 Acid2 rendering IE8 Acid2 rendering
NOTE: It should also be noted that yes, I did make sure to flush out my resolver cache and clear the IE8 cache. I even went as for to blackhole the official webstandards.org website on my router so I'd be sure I was getting the local copy.

I have to wonder what's going on here. Is this a bug in beta software that will be fixed by release? Is Microsoft trying to deceive us about IE8's capabilities? Either way, it's interesting, isn't it?


From Vista:
IE8 Acid2 rendering IE8 Acid2 rendering


From XP x64:
IE8 Acid2 rendering IE8 Acid2 rendering


UPDATE 3/23/2008: Looks like I was beaten to the punch. Oh, well. Better luck next time...