如何用php清除浏览器缓存?

时间:2009-06-24 09:07:47

标签: php browser caching

如何使用php清除浏览器缓存?

4 个答案:

答案 0 :(得分:50)

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Content-Type: application/xml; charset=utf-8");

答案 1 :(得分:33)

您可以通过设置以下标题来删除浏览器缓存:

<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

答案 2 :(得分:1)

借助最新的浏览器对“ Clear-Site-Data”标头的支持,您可以清除不同类型的数据: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Clear-Site-Data

header('Clear-Site-Data:“ cache”,“ cookies”,“ storage”,“ executionContexts”');

答案 3 :(得分:0)

它需要进行版本控制,因此当发生某些更改时,浏览器会捕获一些新内容,用户不需要清除浏览器的缓存。

您可以通过子文件夹(example /css/v1/style.css)或文件名(example: css/style_v1.css)或甚至为您的网站设置不同的文件夹来执行此操作,例如:

www.mywebsite.com/site1

www.mywebsite.com/site2

www.mywebsite.com/site3

使用.htaccess甚至更改httpd.conf以重定向到您当前的应用程序。

如果关于一个图片或页面

    <?$time = date("H:i:s");?>
    <img src="myfile.jpg?time=<?$time;?>">

当您不想缓存时,您可以在零件上使用$ time。所以它总会拉出一个新的形象。对它进行版本控制可以获得更好的方法,否则会使服务器过载。请记住,浏览器缓存它不仅有利于用户体验,还有助于您的服务器。