First View and Repeat View has same result for IE7 and IE8

Hi, I just setup my private instance. When I test, I found out the result for my IE9 and FF is matching the result, where the repeat view is much faster than the first view.

But for IE8 and IE7, the repeat view result is almost same as the first view result. I wonder is there any setting I need to adjust either on the browser or on the tool itself? So that my private instance has matching result in comparison to the



After I changed the start page to blank, it seems the IE8 is functioning, but the IE7 is not hitting the cache. So the repeat view is still about the same as the first view.

I just noticed the same thing while testing on, running as IE8. (Repeat view takes about the same time as first view.) Running it as Firefox gives the expected results (most resources are cached)

Sample run as IE8:
Sample run as Firefox:

Firefox implements heuristic resource caching when Expires headers are not present while IE does an if-modified-since check for each of them (all those yellow-highlighted requests in the repeat view waterfall).

Not sure if your site looks like the one but if so you just need to make sure you have proper caching headers on the static resources.

I am testing, I tried on, the IE7 come up with 2second shorter result in repeat view vs first view. But in my private instance, the IE7 is not doing it. Is there any log file I can attach to help to debug this?



In settings.ini if you have the “publishTo” setting configured you should have a link at the top-right of the test results that will let you publish tests from your private instance to the public WebPagetest so you can share internal tests with people if you need to.

Just try to upload the result, but got an error:
Please wait wile the results are uploaded to (could take several minutes)…

There was an error publishing the results to Please try again later

Any idea?



That’s why I am surprised by these results: these resources do have proper caching headers. e.g. for :

Cache-Control: max-age=2592000
Date: Thu, 14 Jun 2012 16:58:44 GMT
Expires: Sat, 14 Jul 2012 16:58:44 GMT
Last-Modified: Thu, 25 Nov 2010 08:25:34 GMT

So I don’t understand why they are fetched again, in the Repeat View.

I think it’s because of the vary headers:

HTTP/1.1 200 OK
Date: Thu, 14 Jun 2012 03:16:38 GMT
Server: Apache/2
Content-Location: twitter-bird.png
Vary: negotiate,accept
TCN: choice
Last-Modified: Thu, 25 Nov 2010 08:25:34 GMT
ETag: "b33-495dc5983db80;49711a471c400"
Accept-Ranges: bytes
Content-Length: 2867
Cache-Control: max-age=2592000
Expires: Sat, 14 Jul 2012 03:16:38 GMT
P3P: policyref=""
Connection: close
Content-Type: image/png; qs=0.7

Anything except for user agent will prevent IE from caching it:

You can Vary accept-encoding for text resources and it will work as well because that gets stripped out before the browser sees it but anything else will screw your caching.

Looks like I have a bug with the publish (I think someone else pinged me on that recently as well) - will get that fixed.

In The mean time, is there any other way for me to send you any log files? Or result files?



If you zip up the directory for the test result for one of the tests I can load it manually and take a look. Otherwise I’m about to look at the publish code anyway so it may be better to just wait a couple of hours.

ok, you should be able to publish now. The current publish code you have on your system will publish all of the test data but not video frames (not really an issue for this case). The fix was on the server so you shouldn’t have to do anything.

If you also want to be able to publish filmstrips you’ll need to grab the updated publish.php for your install:



Thanks Pat,

Yesterday I upgraded the machine to IE8, then downgraded back to IE7, and somehow, the test were ran successfully this morning, with faster repeat view result in compare to the first view. I am not sure what has changed.

Here is my old result which had the problem:

Here is my new result which has the correct result:

I don’t know what caused the problem corrected itself.

OK I will have to read a bit more about that, thanks a lot for the quick replies! (and for