6
votes

On my page in IE8, I have got some text which gets changed through an admin panel. For example: if the page contains the text 'hello world', after 5 minutes the text could be different depending upon if the admin has changed it.

The problem is with IE8 which caches the page and shows the same text again. If we clear the cache and refresh, the text is updated.

I am using <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> tag to make refrain the browser from caching.

I have seen that if I select Internet optionsbrowsing history (settings) → every time I visit the web page, the problem is eliminated; but if it's set to automatic, the page's cached version is shown.

Is there a way I can force 'no-caching' even if the caching option in IE8 is set to automatic, by the end-user?

3

3 Answers

4
votes

You can force Internet Explorer not to cache your page using the following headers:

Expires: -1
Cache-Control: private, max-age=0

↪ See How to control web page caching, across all browsers?

2
votes

The best way to disable cache is to use a variable with random unique value in your URLs.

For example if your page's URL is:

www.abc.com/hello.php

make it like:

www.abc.com/hello.php?randomVar=1SH232X-182N19-1929SK

You can use the current timestamp as the value of randomVar. This way, the page will not be cached.

1
votes

When you request the page by POST method instead of GET, you can be pretty sure it will be never cached. User1419007's answer is also correct.