javascript - 如何在 Javascript 中使用 Cache-Control?
问题描述
我想使用 Javascript 告诉浏览器不要缓存我的网站。写在这个 JavaScript 文件上的代码很简单
function calcURL(urlIn)
{
Cache-Control: no-cache, max-age='3600'
}
浏览器一直给我一个错误:
未捕获的 SyntaxError:意外的标记“:”
我试过添加;在行尾。有人可以告诉我问题是什么吗?
解决方案
您在 JavaScript 中使用了错误的方法。此外,在 JS 运行告诉浏览器不要缓存之前为时已晚。
缓存控制配置
HTTP Cache-Control 标头可以在服务器上实现,甚至可以添加到代码中。以下是如何在 Apache、Nginx 或 PHP 代码中实现 Cache-Control 的示例。
阿帕奇
可以将以下代码段添加到您的 .htaccess 文件中,以告诉服务器将 Cache-Control 标头的 max-age 设置为 84600 秒,并将列出的文件设置为 public。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
可以将此片段添加到您的 Nginx 配置文件中。下面的示例使用 Cache-Control 标头指令 public 和 no-transform,并将过期设置设置为 2 天。
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 2d;
add_header Cache-Control "public, no-transform";
}
PHP
Cache-Control 标头也可以直接添加到您的代码中。此示例演示如何使用 PHP 标头来包含 Cache-Control 设置的 max-age 为 1 天。
header('Cache-Control: max-age=86400');
总结
Cache-Control 是一个强大的 HTTP 标头,用于使用浏览器和中间缓存加速网站。虽然它提高网站速度的能力不仅仅是因为它在帮助减少私人信息的脆弱性方面也非常有用。您选择应用于 Cache-Control 指令的设置取决于所传递信息的性质以及这些资产的期望到期时间。
推荐阅读
- python - 如何使用目录的每个子目录中的文件数创建一个python列表
- javascript - 云函数错误:TypeError:db.collection 不是函数
- reactjs - 如何使用 useEffect 和 useRef 测试 React 组件
- reactjs - 如何满足Record的约束
带接口 - sql-server - 查询的默认 dbo
- javascript - 将代理设置为空字符串与未定义之间有区别吗?
- botframework - 运行 Bot Dispatcher for Production 聊天机器人的推荐方法是什么?
- ada - 位域的 Ada 模式
- next.js - 下一个 i18next 生产重定向错误
- apache-kafka - 如果我使用persistentKeyValueStore,Kafka Streams 会停止,但可以与 inMemoryKeyValueStore 一起正常工作(在 Docker 容器中运行)