Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I have cleared all browsing data from Chrome as well as pressed Ctrl+F5, but a cached home page is still displayed. My test homepage shows the new page correctly. I am absolutely positive the new page has been uploaded. The same problem occurs in IE11 after pressing Ctrl+F5. I do not want to use meta tags for obvious (bandwidth, slow user browsing, etc.) reasons.

Is there anything else I can try?

Notes

This is a Windows server.

Although the new page is displaying properly on my laptop, it has not been updated on several other machines I have tried.

Update

My ISP seemed to have fixed the problem last night, but it has recurred. It is as if they restored the old files from a backup.

Here is a partial report from Firefox HTPP Headers:

HTTP/1.1 200 OK Cache-Control: private, no-cache, no-store, must-revalidate Content-Encoding: gzip Content-Type: text/html; charset=utf-8 Date: Fri, 21 Mar 2014 15:54:33 GMT Expires: Sat, 01 Jan 2000 00:00:00 GMT Pragma: no-cache x-content-type-options: nosniff X-XSS-Protection: 0 X-FB-Debug: nmuGzYXWYFP/OJF3oT7UTEXBADzlWnIE176a9iLFCjk= X-Firefox-Spdy: 3

Let me know if more of the report is needed.

share|improve this question
    
Can you post the response headers of the content you are requesting? Have you checked that there are no web server rules affecting the response or freshness of the resource? –  PatomaS Mar 19 at 6:54
    
The reason for not using those meta tags shouldn't have to be saving bandwith, or at least that shouldn't be the main reason, the real reason should be because you are sending that information properly on the HTTP response headers. –  PatomaS Mar 19 at 6:56
    
How do I find the response headers? –  ron tornambe Mar 20 at 15:43
    
Each browser has different ways, you can use, for instance, the live http headers addon for firefox, or firebug. If you know how to use a language with a binging to cURL, like PHP, you can use it, if you have linux, you can use cURL on the command line. –  PatomaS Mar 20 at 23:17
    
The output from the Firefox HTTP Headers add-on us quite large. SHall I post them anyway? –  ron tornambe Mar 21 at 0:35

4 Answers 4

There are few possible options why a resource may not refreshed on the browser, even when you know there is a new version on the server.

One was mentioned by @ExploWare, but there are more options.

  • If the cache-control on the server is set to the future, the resource on the browser or any other cache is not going to be renewed until it expires.
  • Same applies to expiry header.
  • There are no etags to validate request for validity
  • There is no last-modified to validate request for validity
  • If the resource you are asking for is dynamic content, it can't be cached by standard modes, but it may be cached by plugins or special applications, if those applications are not behaving well or renewing their cache, then the response is wrong.
  • On some CDNs or balanced servers the information may not be synchronized on time for the request, so it goes to a server that still has old information.

I'm sure there are more that are not coming to mi mind now.

share|improve this answer
    
Thanks for the tips. I am currently chatting with my ISP and they contend there is no caching being done by them. I will keep everyone posted. –  ron tornambe Mar 20 at 23:08

Maybe you (or your ISP) is using a caching proxy? You could try loading your site from an external proxy, for example http://mybypassproxy.com/.

To make sure the website to be reloaded (by any proxy or browser) you can use a unique address. PHP users will know this method as its sometimes needed in other cases.

Add a ?uniquedata to your URL, for example: http://host/index.htm?time=20140318220630. That way, any proxy and/or browser will have no matching record of that page.
or, if there is already a ? in the url, add it with an &
(http://host/index.htm?data=alreadyhere&uniquetimestamp=20140318220630)

share|improve this answer
    
Where can I find an external proxy? –  ron tornambe Mar 18 at 19:19
    
I used to be a webhost. I don't know why I didn't think of a proxy except back in the day they were not used as much. Today, ISPs are trying to save on bandwidth so proxies are far more common. We only used proxies to offload the burden of delivering static content from the web server. You may want to ask your ISP if there is a proxy server and how to deal with it in the future. –  closetnoc Mar 18 at 19:41
    
I added a nice workaround for proxy/browser cache, it will always work if it is the problem you're experiencing –  ExploWare Mar 18 at 21:08
    
I guess it isn't a proxy/cache issue. I do have a support ticket into my ISP. I get the feeling they have something to do with it since I opened another preformance related ticked a couple of days ago, which they have yet to resolve. +1 for the great education you have afforded me. –  ron tornambe Mar 18 at 21:42
1  
Of course, I tried everything you and @ExploWare suggested. –  ron tornambe Mar 18 at 22:56

It has been a while for me, but some web servers do not notice changes to HTML web pages and other resources right away depending upon a polling algorithm. As an example, Apache does this though I think the polling is rather short. It was as much as 5 minutes at one point. It may also be that some form of caching is enabled on the web server.

Also:

In Chrome, try ctrl+shift+del. This gets you to the clear browsing data dialog. From there, click Cached images and files. (I un-click the rest.) This should delete all cached files. I find myself having to do this sometimes, though fairly rare.

share|improve this answer
    
Thanks, but it has been well over five minutes and still no refresh. I have done this with the same ISP hundreds of times. When I open the page on the server, the new page shows? –  ron tornambe Mar 18 at 16:54
    
I updated the answer. Hope this helps. –  closetnoc Mar 18 at 17:03
    
Thanks again, but after clearing all images, still no pancakes. I offered the question to my ISP. +1 for good to know stuff anyway. –  ron tornambe Mar 18 at 17:23
    
Sorry I was not able to help. I will think again on this. –  closetnoc Mar 18 at 17:43
    
@closetnoc: web servers don't have to notice any change, they serve resources based on rules. Apache, as any other web server that is not affected by a proxy, and without caching rules will always look for the resource asked and if it's there, it will send it. If there are caching rules, or a proxy involved, the result will depend on those rules. So, any fresh request for a resource to a server without proxy/cache will get the resource as response. –  PatomaS Mar 19 at 6:12

This has happened to me a couple of times:

  • make sure that you are looking at the correct server (not localhost or a test server)
  • Make sure you uploaded to the correct server/folder (not a test server)
  • make sure that server is not redirecting you via .htaccess
  • Make sure your computer not redirecting you with a hosts file.
  • Make sure that the page is not being cached by Varnish or other web caching system.

Point 1 and 2 have cost me hours. Point 5 has cost me days.

Its always good to have an visual signal on you page that tells you if you are looking at a live site vrs a test site. Also, if you are not maintaining your own server, be sure to talk to the guy that is to find out if they are running a caching program.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.