解决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缓存问题
给您推荐相同类型的内容:
r语言主成分分析biplot怎么看
#R中作为主成分分析最主要的函数是princomp()函数#princomp()主成分分析 可以从相关阵或者从协方差阵做主成分分析#summary()提取主成分信息 #loadings()显示主成分分析或因子分析中载荷的内容#prediR语言中的with函数什么意思?
height.weight是数据框(data.frame),Height应该是height.weight中的一个变量with就是把所有操作都限制在数据框上。比如说你手上有两组数据,asian是亚洲人的身体参数:体重 身高 视力等等,euroHTML load()方法跳转页面获取URL参数
可以新建一个js文件,内容如下:(function ($) {$.getUrlParam = function(name){var reg = new RegExp("(^|&)"+ name +&html如何加入背景音乐?
需要准备的材料分别有:电脑、浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的<body>标签中,输入html代码:<a怎么用html做一个系统登录界面文本框前有小图案
可以用html进行程序编写,从而实现系统登陆界面文本框前有小图案的需求。可参照以下代码为模板进行编写:完整的代码1:https:download.csdn.netdownloadmingzi124512406208 代码2http简述java程序的组成结构。
Java程序结构:数据类型、变量、运算符、控制流语句。数据类型确定要储存在内存中的数据的类型。变量是存储数据的基本单元。运算符是一个符号,用于操作一个或多个参数以得出结果。程序是按顺序执行的,控制流语句允许改变此顺序。Java语言中for回CSS 轮播图的实现(纯CSS,连续滑动无倒滑效果)
简单demo:使用HTML+CSS 实现轮播图(三张图为例,分别为:红、绿、蓝)的效果。 不能发视频,截图来代替吧 1.显示 轮播图1(实际轮播的第2个元素li) 2.显示 轮播图2(实际轮播的第3个元素li) 3.显示 轮java中date类型怎么比较大小
date 实现了Comparable 接口 调用compareTo(Date date)方法可以比较大小。例如:比较date1 和 date2的大小int res = date1.compareTo(date2),相等则返回0,date页面js中文乱码怎么解决
中文乱码主要是因为编码格式不同导致的。解决办法:将脚本编译器的编码格式改成utf-8.在mate标签里添加 charset='utf-8'浏览器的编码格式也修改为utf-8.修改编译器的编码格式:webstorm为用css怎么设置div滚动条的样式,可改变大小的
在css设置可改变大小的div滚动条样式方法:1.首先新建html文档,进入代码书写界面。2.在<head>和<body>的里面写入代码,在<div>里面写入想要输有没有想过css定位与xpath的区别
CSS定位:从图层渲染来说吧,它是把元素定位到网页中的任何一个位置,也就是控制元素的显示位置,比如网页常见的返回顶部按钮就是用定位实现的。xpath:从网页结构层面来说吧,假如网页中有一个元素span,你如何确定这个元素是你想要的元素spaGO语言有哪些优势?怎样入门?
1、学习曲线它包含了类C语法、GC内置和工程工具。这一点非常重要,因为Go语言容易学习,所以一个普通的大学生花一个星期就能写出来可以上手的、高性能的应用。在国内大家都追求快,这也是为什么国内Go流行的原因之一。2、效率Go拥有接近C的运行效Python是什么?
从今天开始,我们将用文章来讲述如何学习Python这门高级编程语言,但是在此之前,我们有必要先讨论一下“Python 是什么”。Python 英文原意为“蟒蛇”,直到 1989 年荷兰人 Guido van Rossum (简称 GuidoCSS实现垂直居中的7种方法
HTML: CSS: 重点:父容器高度和子元素line-height一样的数值,内容中的行内元素就会垂直居中。 HTML: CSS: 重点:给父元素添加一个伪元素::before,让这个伪元素的div高度为100%,这样写一个带存档的js游戏
关于写一个带存档的js游戏相关资料如下最近使用 JS 写了一个贪吃蛇游戏,效果如下:贪吃蛇作为一款经典又简单的小游戏,每个人都玩过。实现一个贪吃蛇游戏基本具有以下功能:棋盘(也被称作 “地图”,我这里画的像一个围棋棋盘,索性就叫棋盘)蛇 (JS脚本怎么运行?
我们常见的执行js代码都是放入到HTML引入后然后通过HTML文件来执行胡查看代码。显然这是比较麻烦的事情,如果你的电脑里面安装了node.js,你可以使用node来直接使用node来运行你想要运行的js文件。扩展资料:动态程序一般有两html模板
1、ASP文件中的代码pencat=rs.Fields.Item("m_content").Value pencat=replace(pencat,"t_title",n_title)pencat=rHTML5如何在网页中实现3D效果
CSS3除了为开发者提供二维变形之外,还将动画从二维平面推动到了三维立体状态,能够实现真正的三维特效。三维变形和二维变形一样,均使用的是transform属性。想要触发三维变形有两种方式:一种方式是通过语法告知浏览器“请采用三维方式进行变go语言现在很重要么??
Go作为Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支css注册有短信验证的代码
题主是否想询问“css注册有短信验证的代码吗”?有。根据查询css软件官方可知,css注册有短信验证的代码,层叠样式表是一种用来表现HTML或XML等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元CSS设置字体发光或有阴影.
在样式表中,定义一个img{filter:none}这样,页面中的所有图片就不会有发光效果了!把body的stlye属性删除掉,再把你要发光的字体加入到一个DIV用css控制div,定义id,class,任一个都可以,不建议用标签,字体的设myeclipse 开启js代码自动提示功能?
在myeclipse页面开始操作,流程如下:没有编程辅助提示是一件很头疼的事,像“HttpServletRequest”这么长的类名都要一个个字母挨着敲。点击菜单栏的Windows ,选择Preferences,进入设置中心。依次点击JavJS脚本怎么运行?
我们常见的执行js代码都是放入到HTML引入后然后通过HTML文件来执行胡查看代码。显然这是比较麻烦的事情,如果你的电脑里面安装了node.js,你可以使用node来直接使用node来运行你想要运行的js文件。扩展资料:动态程序一般有两飞信java通用版下载方法
java几?java进行到现在 共分3个版本 最早的java1.x 后来的2.x 跟现在的3.x不知道什么原因 在java3.x更新后 2.x全部停用 而且没有地方提供下载了我个人感觉 2.x的版本是最好的 我曾经试过 挂了一通宵 竟然一k需要一个HTML模板,用来做简单的表单数据录入
HTML做个数据录入的模板。如下参考:1、首先新建一个html,点击<body><body>中间,先填入表格内容:2.内容可根据要求编写,示例代码如下:<table&[HTML表格]3.表格嵌套
1)width--表格的宽度(px %) 若不设置,则取决内容的宽度。 2)align--表格的水平对齐方式(left center right) 3)border--表格边框的宽度(px) 4)bgcolor--表格的背景Ruby Rose的个人经历
鲁比·洛斯 (Ruby Rose) 全名Ruby Rose Langenheim,是澳大利亚MTV音乐电视台主持人、电台DJ、模特,更是少数公开出柜的明星之一。鲁比·洛斯 (Ruby Rose) 是那种可以冷艳性感也可以中性帅气的美女,她的微框架 Python Flask 和 Ruby Sinatra,哪个更值得推荐
作者:Ruoyu Sun链接:https:www.zhihu.comquestion20160965answer16552833来源:知乎著作权归作者所有,转载请联系作者获得授权。这个问题很难回答,Sinatra vs Flas求计算算法的复杂度 (Python写的逻辑)
(a) 算法复杂度为O(n),因为只有一个while循环,且i<n,所以复杂度是线性级,仅跟n有关(b) 算法复杂度为O(n²),实际上算法复杂度为nxn2 = n²2,因为有for循环的嵌套(c) 算法复杂度为O(n),因介绍计数器 定时器 程序 的编写步骤 (C语言的)
假设你用的晶振为12m,用p1.0口输出周期为2ms的方波。使用定时器工作方式1.至于计数初值的计算,授之以鱼不如授之以渔!在定时器模式下,计数器的计数脉冲来自于晶振脉冲的12分频信号,即对机器周期进行计数。若选择12m晶振,则定时器的计数