客户端 第6页
-
[置顶]甘特图怎么制作更方便?甘特图制作方法
本文关于甘特图怎么制作更方便?甘特图制作方法。其实现在制作甘特图的方式有多种多样,可以直接使用表格的方式来制作,或者是使用一些线上工具来制作甘特图都是可以的。今天针对于甘特图制作方式给大家详细的分享一...
-
[置顶]okr的实施标准步骤是什么?成功实施落地OKR的要点
本文关于okr的实施标准步骤是什么?成功实施落地OKR的要点。其实有关于Okr工作法,相信很多人都有一定的了解。OKR定义为一个重要的思维框架和一个发展中的学科,旨在确保员工一起工作,并专注于做出可衡...
-
代理IP工具能否解决反爬?
一、不同的网站有不同的反爬虫策略 有时候,使用代理IP了也依然难逃反爬虫策略的限制。代理IP能解决的仅仅是访问频率或访问次数之类的反爬虫策略,一些诸如“有规律的访问”、“User-Agent”、“验证...
-
【嵌入式Linux学习】10、NFS服务安装与配置
NFS【网络文件系统】类似windows中的共享文件夹,通常用在两台Linux系统之间共享文件。 主要用作,本地客户端通过NFS读取服务器端的文件。 NFS传输数据时,所用到的端口是随机的【小于102...
-
这次华为云会议更新,华为妹子们坐不住了
大家好 我是花花 今天突然推文请不要惊讶 因为我又给大家带来 华为云会议的新功能介绍啦 先问大家一个问题 你知道华为会议有多清晰? 还记得去年海南那台 跨越3000公里脑部的手术嘛! 不记得了,请戳这...
-
什么是文档归档?——apipost
文档归档 什么是文档归档? 在ApiPost之前的版本里,一直有一个很难受的问题困扰者我们和使用者:当我们把文档的分享链接分享出去之后,由于文档和当前操作的接口数据是实时一致的,导致很多时候,后端人员...
-
SVN 客户端基本用法
Tortoise SVN 客户端 基本用法 原文地址:点击 1. export 和check out export 下载源代码 用法: 1、新建一个空的文件夹,右键点击它,可以看到TortoiseSV...
-
因为 ajax 可以设置头信息,所以在 ajax 中:
xmlHttpRequest.setRequestHeader(“If-modified-since”,”0″);
xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);
jquery 使用 ajax 方法的时候设置 cache:false。
ajax 中也可以使用随机数参数。
response.setHeader(“Cache-Control”,”no-cache,must-revalidate”);
最后,因为浏览器的 http 请求是基于 URL 来的,缓存机制不适用于 POST,所以可以用 POST 代替 GET。
缓存负面影响
有时候我们打开网站会发现页面失去了样式,这种情况多数原因是网络环境差(加载css失败)或者页面错误,也有极少可能是缓存在本地的 css 缓存被损坏了,浏览器使用了本地缓存,但是并不知道缓存已经失效,而是加载了一个无效的缓存文件。
当然,这种情况发生的概率小到可以忽略,就算发生了这种情况,我们可以把解决方案推给用户(用户只需要清除缓存或者使用 Ctrl+F5 强制刷新即可)。
个人观点认为:多数网站都被建议使用缓存,如果说要挑出一个例外,那应该是适用一条法则:
更新频率大于用户访问频率
比如股票实时行情页面,秒杀页面……用户对于页面数据请求要保持最新,这样就必须要避免数据缓存。
代码规范
因为我们可以用强制刷新(Ctrl+F5),但是用户可能不会。开发人员一旦习惯强制刷新之后,就很容易忽略缓存问题。所以强制刷新不是好习惯,因为不是最大限度模拟用户行为。
在 html 中引入资源,包括媒体、CSS、JS,如果引入的资源文件是再次发布的,建议添加该文件的版本号(没有约定版本号可以使用时间串),如:
在移动端,务必这么做。
额外的,因为 https 越来越成为主流,为了更好兼容,在使用绝对地址引入外部脚本和样式文件,切勿限定协议类型。如:
应该替换为:
测试环境的临时解决方案
在测试的时候,每次修改一下版本号(随机数)都太麻烦。因为刷新按钮可以每次都去服务器请求文件,所以我们只要将修改的文件直接放到当前浏览器的地址栏,然后刷新一下页面就可以更新了(注意是和html页面同一个浏览器)。移动端也可以直接打开css或js文件的URI地址刷新一下。
相关文章:微信内置浏览器H5如何清除缓存以及 cookie 和 localStorage 何时清除
web客户端缓存机制
Readme 如果你已经熟悉客户端的缓存机制,可以直接跳过,看最后一节的代码规范。 Bug 场景 比如我们在服务器发布了一个页面:http://domain.com/cate/page.html 在这...