I'm having a frightful time stopping browsers caching my index.html on S3. I've followed every single guide I can find, and it just hangs onto it no matter what I do.
Earlier, I just used an index.php that then pointed to an index.html, and that worked perfectly. Obviously on S3 we can't do that.
So, now every time I fix a bug or make any code changes, none of my users receive them and it's obviously not a good solution to ask everyone to clear their cache.
Is there any working method of preventing this? I can't believe how aggressively everything's being cached.
There's:
No service workers or anything
All of this stuff in my <head>:
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />
Invalidated the files on CloudFront
Howled at the moon
Is there something obvious I'm missing?
Related
I have a application which has a logout.html (this is provided by third party) which invalidates the SSO(Siteminder) session:
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="Fri, 5 Sep 1980 08:00:00 GMT">
<meta http-equiv="cache-control" content="no-cache">
</head>
</html>
Now when my application's session expires I want to invalidate the SSO session as well.
My idea was to add a session-destroyed listener, and within this listener somehow "simulate" the logout.html's content.
Is this somehow possible?
I've been looking around for a solution to the problem I'm having, but it seems that none of the solutions on SO address my issue.
I was having the dreaded issue where the a href tag in my HTML does not actually take me to the link. At first, I tried removing the JavaScript includes, wondering if something in the JavaScript portion was messing up the page.
Then I removed the CSS portion as well, and ultimately removed everything until the page consisted of simply the header information for the HTML page and only the a href tag. I also changed the link to a non-existent page (to force a 404 error).
When clicking on the link, it keeps me on the current page and doesn't take me to the referenced page (or even give me a 404 error). Following is the stripped out code (everything but the commented out portion):
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>test</title>
<meta name="description" content="test1" />
<meta name="keywords" content="test2" />
</head>
<a href="test.html">Support</a/>
</html>
Thanks for the help.
I made the changes based on the answers given but still see the same behavior. As seen in the screenshot (sorry SO doesn't let me insert images), the URL shows /test.html but the page is still the main page. I changed the text of the link to ensure that the changes were applied.
I'm using rackup to quickly view the changes locally.
Screenshot
Updated code:
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>test</title>
<meta name="description" content="test1" />
<meta name="keywords" content="test2" />
</head>
<body>
Support2
</body>
</html>
Working and tested:
NOTE: Both files [ current one and test.html ] are in same directory.
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, user-scalable=no" />
<title>test</title>
<meta name="description" content="test1" />
<meta name="keywords" content="test2" />
</head>
<body>
Support
</body>
</html>
Also test code is working fine using target="_blank" in anchor tag , which open link in new page if working fine, like below:
<a href="test.html" target="_blank" > support </a>
You have an extra slash in your closing a tag.
Should be
</a>.
I would also make sure they are in the same directory.
Apparently the answer was here:
How to setup URLs for static site with Ruby Rack on Heroku
Individual pages were being routed to "/" all the time. Needed to modify "config.ru" to get routing to work properly.
Next step is to look into "sinatra".
How to clear the cache of browser when hitting the back button on browser (IE,Chrome,Firefox Safari) In MVC4.tried with the following code but its not working
How to refresh page when hitting back button on browser (IE,Chrome,Firefox Safari)?
Can you guys help me out to do this.
Thanks,
Subhnai.
You need to tell browser to discard old page and fetch latest from server by specifying it in HTML > Head
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" />
I want to know how to instruct Chrome not to use a cached version of a page. I cannot get Google Chrome [15.0.874.106 m] to load the latest version. There was a typo on the page and I've corrected it. Other browsers fetch the corrected page. Chrome, not. Here below is what I have in the header section; should I add anything or change something? Also, the browser is not set up "Under the Hood" to use any sort of DNS-prefetching. Just to be clear, I don't want to clear the cache manually, but want to know how to manipulate Chrome's page-caching policies in a declarative manner. Thanks
P.S. I had this problem once before (see this question) but the circumstances are somewhat different this time, so I don't know what's going on. This page too is being displayed in a frame, but it had a no-cache policy from the get-go.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="en-US">
<HEAD>
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Wed, 26 May 2010 00:00:11 GMT">
<META NAME="ROBOTS" CONTENT="NOARCHIVE">
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
.
.
.
</HEAD>
Okay so, firstly this is a website where the user sees a list of tasks which are uncomplete. It should work so the user clicks a complete button and then the item no longer shows, it seems not though!
When they click the 'complete' for an item I have onclick function executes a SQL update statement and then does a response.redirect back to that page, the sql statement executes correctly, the page does redirect BUT the list item is still there!
If the user then exits the page and comes back to it the list item HAS disappeared, this makes me think that the page is caching, however I have put the following in place to stop this:
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate, post-check=0, pre-check=0" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
which is fine on my BlackBerry Bold running OS 5.0, but does not work for customers with BlackBerry Bold running OS 4.x
Any ideas of what this could be are most appreciated.
Try something like this:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<title>Expires Example Page</title>
</head>
<body>
Hello World!
</body>
</html>
This is from the Blackberry support forum: http://supportforums.blackberry.com/t5/Web-Development/Browser-cache-and-quot-Back-quot-button/m-p/155986
How about this
http://developer.blackberry.com/bbos/html5/documentation/rim_cache_element_1264486_11.html
try changing disableAllCache to false in the config.xml
<rim:cache disableAllCache=["true" | "false"]
aggressiveCacheAge="time"
maxCacheSizeTotal="size"
maxCacheSizeItem ="size" />