解决index.html缓存问题 一般项目发版后前端静态文件会有缓存问题, 不强制刷新很难解决, 但是用户不会去强制刷新, 这就需要我们开发人员在配置方面解决浏览器缓存静态文件问题。 一般浏览器缓存的文件有html、css、js等。 css、js文件被缓存的解决方案 一般html中引入的css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。 如果index.html文件被缓存就稍微麻烦些 首先可以在index.html文件头部添加mate标签禁止缓存 <meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache" content="no-cache"> 浏览器的缓存解决, 但是一般在服务器端还是会有缓存, 当浏览器访问index.html时拿到的就是服务器缓存的文件,所有我们还需要解决服务器的缓存 这需要在服务器配置不让缓存index.html nginx 配置如下: location = /index.html { add_header Cache-Control "no-cache, no-store" }通过HTTP的META设置expires和cache-control 指令不区分大小写,并且具有可选参数,可以用令牌或者带引号的字符串语法。多个指令以逗号分隔。 客户端可以在HTTP请求中使用的标准 Cache-Control 指令。 Cache-Control: max-stale[=<seconds>] Cache-Control: min-fresh=<seconds> Cache-control: no-cache Cache-control: no-store Cache-control: no-transform Cache-control: only-if-cached 服务器可以在响应中使用的标准 Cache-Control 指令。 Cache-control: no-cache Cache-control: no-store Cache-control: no-transform Cache-control: public Cache-control: private Cache-control: proxy-revalidate Cache-Control: max-age=<seconds> Cache-control: s-maxage=<seconds> 拓展缓存指令不是HTTP缓存标准的一部分,使用前请注意检查 兼容性 ! Cache-control: immutable Cache-control: stale-while-revalidate=<seconds> Cache-control: stale-if-error=<seconds> public 表明响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存。 private 表明响应只能被单个用户缓存,不能作为共享缓存(即代理服务器不能缓存它)。 no-cache 强制所有缓存了该响应的缓存用户,在使用已存储的缓存数据前,发送带验证器的请求到原始服务器 only-if-cached 表明如果缓存存在,只使用缓存,无论原始服务器数据是否有更新 max-age=<seconds> 设置缓存存储的最大周期,超过这个时间缓存被认为过期(单位秒)。与Expires相反,时间是相对于请求的时间。 s-maxage=<seconds> 覆盖max-age 或者 Expires 头,但是仅适用于共享缓存(比如各个代理),并且私有缓存中它被忽略。 max-stale[=<seconds>] 表明客户端愿意接收一个已经过期的资源。 可选的设置一个时间(单位秒),表示响 应不能超过的过时时间。 min-fresh=<seconds> 表示客户端希望在指定的时间内获取最新的响应。 must-revalidate 缓存必须在使用之前验证旧资源的状态,并且不可使用过期资源。 proxy-revalidate 与must-revalidate作用相同,但它仅适用于共享缓存(例如代理),并被私有缓存忽略。 immutable 表示响应正文不会随时间而改变。资源(如果未过期)在服务器上不发生改变,因此客户端不应发送重新验证请求头(例如If-None-Match或If-Modified-Since)来检查更新,即使用户显式地刷新页面。在Firefox中,immutable只能被用在 https:// transactions. 发送如下指令可以关闭缓存。此外,可以参考Expires 和 Pragma 标题。 对于应用程序中不会改变的文件,你通常可以在发送响应头前添加积极缓存。这包括例如由应用程序提供的静态文件,例如图像,CSS文件和JavaScript文件。另请参阅Expires标题。 缓存主要两个策略 强制缓存 ,协商缓存 强制缓存就是设置本地资源html img js等等缓存多长时间 超过时间就去服务器端取。 协商缓存就是每次都询问服务器资源是否已经过期 没有过期就使用缓存 已经过期就从服务器上重新取。 缓存流程可以分三个阶段 本地缓存,协商缓存 ,缓存失败 现在的vue项目里都不是这样缓存的 我个人感觉这是在静态页面时的缓存办法 现在都是webpack打包时通过 hash chunkhash contenthash来决定缓存方式 主要就是在请求的文件名称后面加一个id 来判断文件是否已经更新。
解决index.html缓存问题
给您推荐相同类型的内容:
myeclipse 开启js代码自动提示功能?
在myeclipse页面开始操作,流程如下:没有编程辅助提示是一件很头疼的事,像“HttpServletRequest”这么长的类名都要一个个字母挨着敲。点击菜单栏的Windows ,选择Preferences,进入设置中心。依次点击JavGO语言有哪些优势?怎样入门?
1、学习曲线它包含了类C语法、GC内置和工程工具。这一点非常重要,因为Go语言容易学习,所以一个普通的大学生花一个星期就能写出来可以上手的、高性能的应用。在国内大家都追求快,这也是为什么国内Go流行的原因之一。2、效率Go拥有接近C的运行效Python是什么?
从今天开始,我们将用文章来讲述如何学习Python这门高级编程语言,但是在此之前,我们有必要先讨论一下“Python 是什么”。Python 英文原意为“蟒蛇”,直到 1989 年荷兰人 Guido van Rossum (简称 GuidoR语言中的with函数什么意思?
height.weight是数据框(data.frame),Height应该是height.weight中的一个变量with就是把所有操作都限制在数据框上。比如说你手上有两组数据,asian是亚洲人的身体参数:体重 身高 视力等等,euro页面js中文乱码怎么解决
中文乱码主要是因为编码格式不同导致的。解决办法:将脚本编译器的编码格式改成utf-8.在mate标签里添加 charset='utf-8'浏览器的编码格式也修改为utf-8.修改编译器的编码格式:webstorm为轻松压缩JS文件
在任意文件夹下按住shift按键的同时,点击鼠标右键 打开powershell命令窗口 执行命令: npm install uglify-js -g 首先,打开cmd 其次,查找要压缩的js文件,查找方法如下: 1、输入css 向左向下箭头
使用 当然,其他任意方向也是可以的,只需要控制旋转角度rotate即可。原理是构造了一个正方形,隐藏了其中的两条边left和bottom,然后进行旋转。 通过使用正方形左下两条边,并向下向右平移,再旋转,得到一个向下并居中的箭头&ajs将十六进制颜色转透明度的函数
js将十六进制颜色转透明度的函数CSS颜色的表示方式一般有两种10进制与16进制,分别是【rgb(255, 100, 0)】【#FF0000】。两个16进制组合数是0-255(16*16=256)。 颜色是RGB红绿蓝三原色go语言现在很重要么??
Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支R语言中的if else语句
条件执行结构包括if-else、ifelse和switch。 1)if-else结构 if - else 结构 if-else在某个结构在某个给定条件为真时,执行语句;也可以同时在条件为假时,执行另外的语句。 语法为:CSS设置字体发光或有阴影.
在样式表中,定义一个img{filter:none}这样,页面中的所有图片就不会有发光效果了!把body的stlye属性删除掉,再把你要发光的字体加入到一个DIV用css控制div,定义id,class,任一个都可以,不建议用标签,字体的设html模板
1、ASP文件中的代码pencat=rs.Fields.Item("m_content").Value pencat=replace(pencat,"t_title",n_title)pencat=r轻松压缩JS文件
在任意文件夹下按住shift按键的同时,点击鼠标右键 打开powershell命令窗口 执行命令: npm install uglify-js -g 首先,打开cmd 其次,查找要压缩的js文件,查找方法如下: 1、输入css注册有短信验证的代码
题主是否想询问“css注册有短信验证的代码吗”?有。根据查询css软件官方可知,css注册有短信验证的代码,层叠样式表是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元html如何加入背景音乐?
需要准备的材料分别有:电脑、浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的<body>标签中,输入html代码:<aCSS设置字体发光或有阴影.
在样式表中,定义一个img{filter:none}这样,页面中的所有图片就不会有发光效果了!把body的stlye属性删除掉,再把你要发光的字体加入到一个DIV用css控制div,定义id,class,任一个都可以,不建议用标签,字体的设Ruby Rose的个人经历
鲁比·洛斯 (Ruby Rose) 全名Ruby Rose Langenheim,是澳大利亚MTV音乐电视台主持人、电台DJ、模特,更是少数公开出柜的明星之一。鲁比·洛斯 (Ruby Rose) 是那种可以冷艳性感也可以中性帅气的美女,她的打造自己的渗透测试框架—溯光
TrackRay简介 溯光,英文名“TrackRay”,意为逆光而行,追溯光源。同时致敬安全圈前辈开发的“溯雪”,“流光”。 溯光是一个开源的插件化渗透测试框架,框架自身实现了漏洞扫描功能,集成了知名安全工具:Metaspl需要一个HTML模板,用来做简单的表单数据录入
HTML做个数据录入的模板。如下参考:1、首先新建一个html,点击<body><body>中间,先填入表格内容:2.内容可根据要求编写,示例代码如下:<table&用css怎么设置div滚动条的样式,可改变大小的
在css设置可改变大小的div滚动条样式方法:1.首先新建html文档,进入代码书写界面。2.在<head>和<body>的里面写入代码,在<div>里面写入想要输CSS如何定义HR水平线样式
<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http:www.w3.orgTRxhtml1DTDxhthtml的table复杂布局
table的布局主要是利用 tr(行) 和 td(列)。布局是行(tr)开始开展,从上到下进行 行 的布局,从左到右进行 列 的布局。 第一行: 第二行: 按照这个思路进行就可以了。 可能注意到了,每一行td中都添加了co求计算算法的复杂度 (Python写的逻辑)
(a) 算法复杂度为O(n),因为只有一个while循环,且i<n,所以复杂度是线性级,仅跟n有关(b) 算法复杂度为O(n²),实际上算法复杂度为nxn2 = n²2,因为有for循环的嵌套(c) 算法复杂度为O(n),因如何用Java编写斗地主的游戏
这是一个java实现的斗地主,发牌结果的程序,实现3个人十三张牌,然后底牌3张。 *import java.util.Arrays public class pokerDemo{public static void main(Str语言主成分分析biplot怎么看
#R中作为主成分分析最主要的函数是princomp()函数#princomp()主成分分析 可以从相关阵或者从协方差阵做主成分分析#summary()提取主成分信息 #loadings()显示主成分分析或因子分析中载荷的内容#prediCSS实现垂直居中的7种方法
HTML: CSS: 重点:父容器高度和子元素line-height一样的数值,内容中的行内元素就会垂直居中。 HTML: CSS: 重点:给父元素添加一个伪元素::before,让这个伪元素的div高度为100%,这样js除法取整
1.取整 丢弃小数部分,保留整数部分parseInt(52) 2 2.向上取整 向上取整,有小数就整数部分加1Math.ceil(52) 3 3.向下取整 向下取整,丢弃小数部分Math.floor(52) 2简述java程序的组成结构。
Java程序结构:数据类型、变量、运算符、控制流语句。数据类型确定要储存在内存中的数据的类型。变量是存储数据的基本单元。运算符是一个符号,用于操作一个或多个参数以得出结果。程序是按顺序执行的,控制流语句允许改变此顺序。Java语言中for回&在c语言中是什么意思?
&:在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。a&b表示啊a和b按位进行与运算。&后面是个变量。每个变量对应一块存储空间。每个存储空间有一个编号,也就是js将十六进制颜色转透明度的函数
js将十六进制颜色转透明度的函数CSS颜色的表示方式一般有两种10进制与16进制,分别是【rgb(255, 100, 0)】【#FF0000】。两个16进制组合数是0-255(16*16=256)。 颜色是RGB红绿蓝三原色