I have been able to narrow in the issue. IE does not use cache and
instead issues conditional GETs for a page following a redirect
performed using a meta tag. For this particular site, the initial
page was loaded after a meta refresh. Making matters worse, all
iframes attached to that document are also affected (conditional GETs
for all of their resources). So, if a redirect is performed using a
meta refresh (example: <meta http-equiv='refresh'
content='0;url="urlToGoTo"' />) the resulting URL (urlToGoTo in this
case) is rendered by IE with all of its resources (and those of any
iframes it contains) using conditional GETs instead of cache
directly. Again, I tested this only on IE 6.
The fix is to perform a redirect in another fashion: HTTP Header (302
code) or JavaScript. Both of these have been tested and cause IE to
behave better, using cache on the subsequent page instead of
conditional GETs. A JavaScript example would be:
window.location.href='urlToGoTo';
To summarize: if doing a redirect, do not use a meta refresh tag to do
it as it causes IE to load all resources on the subsequent page (and
it's iframes) using conditional GETs.
To follow-up on my earlier post on this thread, I do think there is
value in ensuring that the Content-Type specified in the HTTP Response
Header and the meta tags do match because at the very least having
them different would cause unpredictable rendering.
Thanks,
Brian
On Mar 1, 3:59 pm, Brian <brianmbro...@gmail.com> wrote:
> I regret to say I can not reproduce this now. Despite testing the
> other day, this change alone does not resolve the issue. I will
> continue to look into why a large portion of the pages rendered in
> this site cause IE to issue 304s, and look forward to being able to
> share definitive results with this group.
> Thanks,
> Brian
> On Mar 1, 9:32 am, Billy Hoffman <billymhoff...@gmail.com> wrote:
> > Brian,
> > Can you post your test page? I cannot reproduce this behavior in any other
> > version of IE.
> > Thanks,
> > Billy
> > --http://zoompf.com/
> > On Sat, Feb 27, 2010 at 11:25 PM, Brian <brianmbro...@gmail.com> wrote:
> > > I have not tested IE 7 nor 8 (nor 5 to be exact). My hunch is 5
> > > probably behaves similar to 6 with this.
> > > On Feb 27, 9:37 pm, Bryan McQuade <bmcqu...@google.com> wrote:
> > > > This is a great finding. Thanks for sharing! We'll try to reproduce on
> > > > our end and consider adding a rule about this.
> > > > Do you happen to know if this also happens in IE7 or IE8?
> > > > On Sat, Feb 27, 2010 at 8:24 AM, Brian <brianmbro...@gmail.com> wrote:
> > > > > I recently worked on a site where the expires headers were correctly
> > > > > being set; however, IE was not using cache to fulfill the requests.
> > > > > Instead, IE was issuing a conditional GET request, resulting in a 304
> > > > > (indicating to the browser to use cache). Caching was working fine
> > > > > for Firefox (no conditional GETs), just not for IE.
> > > > > After troubleshooting this, I narrowed it into the fact that the HTML
> > > > > page did not have a meta content-type tag. The HTTP response headers
> > > > > did include Content-Type (with a value of text/
> > > > > html;charset=ISO-8859-1); yet, because there was not a meta tag
> > > > > indicating this (<meta http-equiv="Content-Type" content="text/html;
> > > > > charset=ISO-8859-1">) IE was issuing the conditional GETs instead of
> > > > > using cache. Adding the meta tag to the page resolved the issue and
> > > > > resulted in IE using cache (no more conditional GETs).
> > > > > I have only tested this on IE 6, so I do not know about other versions
> > > > > of IE; however, I'd guess that IE 5 behaves similarly.
> > > > > I know there is a Page Speed rule about defining charset early. I
> > > > > would like to suggest a couple possible enhancements to this rule:
> > > > > 1) Ensuring the meta tag is present (as it affects IE - response
> > > > > header is not enough)
> > > > > 2) Ensuring the response header and meta tag have equivalent
> > > > > directives (general best practice)
> > > > > Hopefully this information will help others whom may be facing a
> > > > > similar issue with IE.
> > > > > --
> > > > > You received this message because you are subscribed to the Google
> > > Groups "page-speed-discuss" group.
> > > > > To post to this group, send email to
> > > page-speed-discuss@googlegroups.com.
> > > > > To unsubscribe from this group, send email to
> > > page-speed-discuss+unsubscribe@googlegroups.com<page-speed-discuss%2Bunsubs cribe@googlegroups.com>
> > > .
> > > > > For more options, visit this group athttp://
> > > groups.google.com/group/page-speed-discuss?hl=en.
> > > --
> > > You received this message because you are subscribed to the Google Groups
> > > "page-speed-discuss" group.
> > > To post to this group, send email to page-speed-discuss@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > page-speed-discuss+unsubscribe@googlegroups.com<page-speed-discuss%2Bunsubs cribe@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/page-speed-discuss?hl=en.