我一直在讨论项目中HTML
文件的缓存问题。
我有静态资源(图像,脚本,css等)的缓存失效机制,但所有这些解决方案似乎都无法处理HTML
缓存问题。
我在所有expires 0;
文件上添加了Nginx
到HTML
,但在我看来,我错过了一个明显的解决方案。
location ~ / {
if ( $document_uri ~* \.(html)$ ){
expires 0;
}
root /var/www/my-website;
}
看起来很丑陋(!)此外,if is evil并且我确信世界上所有网站都需要处理这个问题,因此必须有更好的方法来解决这个问题。
在角度我尝试使用html2js
- 它基本上将所有HTML
文件转换为JavaScript,然后它经历与其余文件相同的缓存初始化机制。
但这也迫使用户下载一个大胖的JavaScript文件,它在某种程度上失败了角度的使用 - 根据需要加载模板,使其非常轻快。
如何解决HTML
缓存问题?
答案 0 :(得分:1)
尝试这两个几乎相同的变体,将它们放在位置〜/ {}部分之后:
location ~ \.html$ {
add_header Cache-Control "no-cache, no-store";
...
}
或
location ~ \.html$ {
expires -1;
...
}