我想使用 Javascript 告诉浏览器不要缓存我的网站。在此 JavaScript 文件上编写的代码非常简单
function calcURL(urlIn)
{
Cache-Control: no-cache, max-age='3600'
}
浏览器一直给我一个错误:
未捕获的语法错误:意外的标记“:”
我尝试添加;在线的末尾。 有人可以告诉我问题是什么吗?
您在 JavaScript 中使用了错误的方法。而且等到 JS 运行告诉浏览器不要缓存就太晚了。
HTTP Cache-Control 标头可以在服务器上实现,甚至可以添加到代码中。以下是如何在 Apache、Nginx 或 PHP 代码中实现缓存控制的示例。
可以将以下代码片段添加到您的 .htaccess 文件中,以告诉服务器将 Cache-Control 标头的 max-age 设置为 84600 秒,并将列出的文件设置为公开。 Expires 和 Cache-Control 标头也可以通过使用 mod_expires 模块包含在 Apache 中。
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=84600, public"
</filesMatch>
此代码片段可以添加到您的 Nginx 配置文件中。下面的示例使用 Cache-Control 标头指令 public 和 no-transform,并将过期设置设置为 2 天。
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 2d;
add_header Cache-Control "public, no-transform";
}
Cache-Control 标头也可以直接添加到您的代码中。此示例演示如何使用 PHP 标头来包含 Cache-Control,将 max-age 设置为 1 天。
header('Cache-Control: max-age=86400');
总结
当涉及到使用浏览器和中间缓存来加速网站时,Cache-Control 是一个强大的 HTTP 标头。尽管它不仅能够提高网站速度,而且它对于帮助保护私人信息不易受到攻击也非常有用。您选择应用于 Cache-Control 指令的设置取决于所传递信息的性质以及这些资产的所需到期时间。
Creo 算法稍后,请使用 javascript 进行正确指令: window.Cache.cacheControl.clear();