缓存是浏览器为了提高用户访问速度而采取的一种策略,即将文件保存在用户的硬盘中,当用户再次访问同一网站时,浏览器就可以从硬盘中读取缓存,而不需要重新从服务器下载。当大家更新CSS文件时,如果没有设置缓存时间,浏览器会直接读取缓存文件,导致更新无法生效。
/* 以下是设置CSS资源缓存时间的代码 */ header("Cache-Control: public, max-age=7200"); header("Expires: " . gmdate("D, d M Y H:i:s", time() + 7200) . " GMT");
在上面的代码中,大家通过PHP代码的形式设置了CSS资源的缓存时间为2小时(7200秒)。通过设置“Cache-Control: public, max-age=7200”来告诉浏览器该文件可公开缓存,并设置缓存时间为2小时。通过设置“Expires: ” . gmdate(“D, d M Y H:i:s”, time() + 7200) . ” GMT””,来告诉浏览器该文件的过期时间,即在2小时后过期。这样浏览器就会在2小时后重新请求新的CSS文件,而不是读取旧的缓存文件了。
在实际开发中,建议将代码添加到服务器响应CSS请求的脚本中,比如Apache服务器的.htaccess文件中,可以使用下面的代码:
ExpiresActive On ExpiresDefault "access plus 2 hours"
上述代码是使用Apache服务器的mod_expires模块,针对CSS文件进行缓存时间的设置。大家通过添加ExpiresDefault指令,来设置所有匹配到的CSS文件的缓存时间为2小时,这样就解决了CSS更新缓存的问题。