如何让 Firefox 不缓存我的网页
我有这个页面,我们称之为 index.php
index.php
有一个用户列表和一个删除用户按钮。这会将他们带到 removeUser.php
而 removeUser.php
的最后一行是返回到 index.php
但在 Firefox 中,它看起来仍然一样,普通用户不知道如何在每次手动加载页面时进行硬刷新或清除缓存。
我已经尝试过
CACHE-CONTROL NO-CACHE,NO-STORE
,
PRAGMA NO-CACHE,NO-STORE
甚至尝试在 META 标记中设置 EXPIRY 0
,但这些都没有帮助。虽然这一切在 Chrome 和其他浏览器中都能完美运行,但只有 Firefox 存在这个问题。
这些是我的标题,应 @alex 的要求
http://localhost/xChange/home.php
GET /xChange/home.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost/xChange/home.php
Cookie: laobgcidne=yes; [email protected]
Cache-Control: max-age=0
HTTP/1.1 200 OK
Date: Fri, 10 Dec 2010 08:28:25 GMT
Server: Apache/2.2.11 (Win32) PHP/5.3.0
X-Powered-By: PHP/5.3.0
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Length: 6130
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
I have this page, let's call it index.php
index.php
has a list of users and a remove user button. That will take them to removeUser.php
And the last line of removeUser.php
is to go back to index.php
But in Firefox, it still looks the same, a normal user won't know how to do a hard-refresh or clear the cache every time the page loads manually.
I have tried
CACHE-CONTROL NO-CACHE,NO-STORE
and also
PRAGMA NO-CACHE,NO-STORE
I even tried setting EXPIRY 0
in the META tags, none of these help. Although it all works perfectly in Chrome and other browsers, it's just Firefox that has this problem.
These are my headers, requested by @alex
http://localhost/xChange/home.php
GET /xChange/home.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost/xChange/home.php
Cookie: laobgcidne=yes; [email protected]
Cache-Control: max-age=0
HTTP/1.1 200 OK
Date: Fri, 10 Dec 2010 08:28:25 GMT
Server: Apache/2.2.11 (Win32) PHP/5.3.0
X-Powered-By: PHP/5.3.0
Cache-Control: no-cache, must-revalidate
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Content-Length: 6130
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
发送过去日期的过期标头。
示例
来源。
更新
你的标题看起来不错。我不知道火狐在做什么。
您可以在链接上执行此操作,以确保它始终下载新的副本。
Send a expires header for a date in the past.
Example
Source.
Update
Your headers look pretty good. I don't know what Firefox is doing.
You could do this on the link, to make sure it always downloads a fresh copy.
首先可能是你的
curl --head
摘要可以帮助我们。index.php
这详细解释了缓存:
http://www.mozilla.org/projects/netlib/http /http-caching-faq.html.
使用
http://nl.php.net/manual/en/function.header.php
设置标题。
还可以查看
Etag,
如果无匹配、上次修改、
if-modified-since
或者如果它真的不起作用
可以为您的网址添加时间戳
index.php?
First maybe your
curl --head
summary could help us.index.php
This explains caching in full detail:
http://www.mozilla.org/projects/netlib/http/http-caching-faq.html.
use
http://nl.php.net/manual/en/function.header.php
to set headers.
Also have look at
Etag,
If-None-Match, Last-Modified,
if-modified-since
Or if it really does not work you
could timestamp your urls
index.php?<?= echo time(); ?>
只需按 Ctrl+F5 即可在浏览器页面上进行硬刷新,它会删除当前页面的缓存并加载新编辑的页面
Simply Press Ctrl+F5 for hard refresh on your browser page it removes Cache of current page and load the newly Edited Page