Forum Moderators: mack
Are you sure that each page accesses the same files you are not replicating things across multiple folders?
Caching is the default, something must be explicitly preventing caching or forcing a refresh, either server side or client side.
images should be cached however.
check out the yslow extension for firefox, it is very handy for optimising download speeds - i bought the book too! (but you don't need that)
Is there a way to stop header, footer and shared images from reloading every time a user goes to a different page?
Is there anything different between those pages in how that information is being assembled at the browser level? Can we assume that these are include files and their position, etc. is the same on all pages? I know what you are referring to and it can be annoying at times. Check your page load times and also how the page is structured. Maybe you've got something really "heavy" that is loading first at the browser level and causing delay for the remaining elements? What do you have being called externally? Any third party scripts involved?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>testing</title>
<link rel="shortcut icon" href="http://localhost/newer/favicon.ico" />
<link href="sitecss/styles.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<div id="pageHeader">
<div id="menu">
<ul id="navigation">
<li id="bt1" title="home"><a href="index.html" class="selected">Home</a></li>
<li id="bt2" title="about"><a href="about.html" >About</a></li>
<li id="bt3" title="gallery"><a href="gallery.html" >Gallery</a></li>
<li id="bt4" title="shop"><a href="shop.html" >Shop</a></li>
</ul>
</div>
</div>
<div class="clear"></div>
<div id="middle">
<p>Testingggggggg</p>
</div>
<div id="footer">
<ul >
<li><a href="index.html">Home</a></li>
<li><a href="ship.html">Shipping</a></li>
<li><a href="privacy.html">Privacy Policy</a></li>
<li><a href="contact.html">Contact Us </a></li>
<li><a href="news.html">News</a></li>
<li><a href="terms.html">Terms of Use</a></li>
<li><a href="siteMap.html">Site Map</a></li>
</ul>
</div>
</div>
</body>
</html>
1) Setup content expires headers for the directories those files are in. We usually set the time limit for the just above average session length (20 minutes for us).
2) Remove any etag headers
This should have the clients cache the files and prevent most 304 requests as well. Without going crazy (frames and such), you won't be able to cache header and footer content but if the pages themselves dont change often, you could apply the method above to you content as well.
A good tool to test this stuff is YSlow for FireFox (free).
<div style="display:none;">
<img src="backgroundimage1.jpg" />
<img src="backgroundimage2.jpg" />
</div>
Could someone confirm that ? I though Etag were ignored when expires date was set and that servers usually:
1/ Check for expires date
2/ If not, then check for etags
I know that YSlow says that they can be some problems with Etags, especially if content is fetch from multiple servers, nonetheless they do not say to remove it
and it doesn't help on the blinks that I get on IE when you go to different pages
[webmasterworld.com...]
but why is it the page still reloads or blinks that look like page is reloading everything again
[edited by: SuzyUK at 10:14 am (utc) on June 10, 2008]
I'd venture to guess that maybe the background images linked to in a external CSS document is that last thing to be rendered by IE?
If putting them at the bottom doesn't help try the top of the HTML document.