首页 > 编程知识 正文

前端中的三种页面缓存方式,前端缓存处理机制都有哪些

时间:2023-05-06 03:14:51 阅读:30105 作者:4158

如何解决前端页面缓存问题

众所周知,前端浏览器与服务器之间存在“强制缓存”和“协商缓存”(对此一无所知的人可以查看其他博客) )。 如果不支持,则每次部署时js、css、图像甚至html都存在缓存问题。 部署后,如果未更新任何更改的js、css或图像,则缓存可能会随着服务器安装的协商而更改并经过

现在的前端开发是webpack等构建工具,通过设置可以对js、css等文件进行hash版本控制,但构建工具不处理html文件。 特别是微信环境,前端html缓存异常严重。

谈谈我面临的问题吧。 我们是用vue-cli4构建的多页APP应用程序,外部服务采用前端打包的静态文件nginx格式。 我们的页面访问地址是这样的

3359 XXX.XXX.com/my-app/index.html #/home? a=123

从一个页面到另一个页面的参数不同,我认为应该避免丢失html缓存。 但是发布一次后,发现浏览器没有访问新页面,打开f12的开发人员模式,看到index.html文件竟然是304缓存文件,我做出了反应。 #后的参数将被忽略。 是否提供临时解决地址https://XXX.XXX.com/my-app/index.html,以便业务和测试合作伙伴尽快参与测试? v=1#/home? a=123,html加上v=1等于要求了新的html,暂时解决了。

为了从根本上解决,还是从我们的nginx服务中解决,解决方案如下。

位置/{ if ($ request _ filename~*.*" .htm|html ) $##配置页包含以html和htm结尾的文件{ add _ header cache-control ' private,no-store,no-cache,must-} index index.html; try _ files $ uri $ uri//index.html=404; }浏览我们的页面,html全部返回200,没有缓存,完美解决。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。