首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

强制缓存和协商缓存的区别

浏览器第一次请求时: 浏览器后续在进行请求时: 浏览器缓存分为强缓存(本地缓存)和协商缓存(对比缓存) 02 术语解释 1. 缓存命中:指在缓存中找到请求的数据. 2....03 强制缓存缓存:浏览器在请求某一资源时,会先获取该资源缓存的header信息,判断是否命中强缓存(cache-control和expires信息),若命中直接从缓存中获取资源信息,包括缓存header...private:只能被终端用户的浏览器缓存,不允许CDN等中继缓存服务器对其缓存。...;否则返回最新的资源内容, 协商缓存参数 协商缓存都是由服务器来确定缓存资源是否可用的,所以客户端与服务器端要通过某种标识来进行通信,从而让服务器判断请求资源是否可以缓存访问,这主要涉及到下面两组header...05 强制缓存和协商缓存的区别 06 前端如何实现HTTP缓存 静态的html页面想要设置使用缓存需要通过HTTP的META设置expires和cache-control 设置如下网页元信息: <

96220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pycharm缓存_pycharm安装包很慢

    解决pycharm缓存文件问题 方法一 方法二 使用pycharm一段时间后 ,C盘空间也越来越小。这是因为pycharm在C盘生成了大量的缓存文件。...解决C盘占用过大,有两个方法: 方法一:直接删除pycharm缓存文件(暴力有效) 方法二:更改缓存文件路径 方法一 content.dat.storageData是pycharm的缓存文件,动辄几个G...方法二 pycharm缓存文件默认存储在C盘,我们可以将缓存文件存储位置更改到其他盘。...----------- idea.fatal.error.notification=disabled 我们需要对以下4个位置进行修改,将原有路径用 # 号注释掉(默认是注释掉的),添加自定义的路径(将缓存文件位置设置为你指定的盘...plugins 修改log路径 # idea.log.path=${idea.system.path}/log idea.log.path=D:/.PyCharm2019.2/system/log 将c盘的缓存文件

    2.6K20

    计网 - HTTP 协议_强制缓存和协商缓存的区别

    文章目录 Pre 请求响应和长连接 HTTP 2.0 的多路复用 HTTP 方法和 RestFul 架构 HTTP 方法 缓存 强制缓存 协商缓存 总结 ?...---- 缓存 在 HTTP 的使用中,我们经常会遇到两种缓存强制缓存和协商缓存,接下来举两个场景来说明。 ---- 强制缓存 举个例子: 公司用版本号管理某个对外提供的 JS 文件。...当一个文件被强制缓存后,下一次请求会直接使用本地版本,而不会真的发出去。 使用强制缓存时要注意,千万别把需要动态更新的数据强制缓存。...一个负面例子就是小明把获取用户信息数据的接口设置为强制缓存,导致用户更新了自己的信息后,一直要等到强制缓存失效才能看到这次更新。...小明一开始觉得强制缓存可以,然后突然有一天接到运营的通知,某市下属的两个县合并了,需要调整接口数据。小明错手不急,更新了接口数据,但是数据要等到强制缓存失效。

    56840

    当@Transactional遇到@CacheEvict,会不会先缓存呢?

    点击蓝字关注不迷路 有bug吗 如上图所示,当@Transactional 遇到@CacheEvict,是先缓存后更新数据库,还是先更新数据库后更新缓存呢?...大家都知道,也缓存后更新数据库,会不定时出现脏数据的哦 思考 首先,@Transactional是给当前方法添加事务支持的。...Debug 寻找真相 首先,执行清除缓存的是org.springframework.cache.Cache#evict方法,此处又是使用 redis 作为缓存的提供者,所以在清除缓存时,必然会调用...,对应的缓存数据已被清除。...先清除缓存,然后在事务还没有提交之前,服务器就收到了新的用户请求,然后,发现缓存中没有数据,则去数据库中获取数据(事务还没有提交则获取到旧值),同时将获取的数据添加到缓存中。

    1.2K20

    Apache强制浏览器清除缓存的方法

    在日常网页建设时,如遇到更新页面css的时候,需要Apache进行清除以清除所有浏览器上的缓存,从而强制完全重新加载站点。...if -modifiedsince询问在这个最后的修改时间之后是否修改过这个文件,然后服务器进行对比,最后服务器检查两个值的时间是否一致,如果一致,返回304缓存,不一致200。...内容定期生成:当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存。...3、Expire:在响应http请求时告诉浏览器在过期时间前可以直接从浏览器缓存取数据,而无需再次请求。...4、cache-control的浏览器缓存其实跟EXPIRES作用是一致的,但是在设置上会更加的细致,可以满足很多不同的需求。

    2.6K20

    缓存的姿势不对,真的会出生产bug哦

    最近解决了一个生产bug,bug的原因很简单,就是清理缓存的方式不对。本来没啥好说的,但是考虑到我们有时候确实会在一些小问题上栽跟头,最终决定把这个小故事拿出来跟大家分享下。...没办法只能看那个时间段所有的log,发现有一行“map缓存中有数据,可能多人同时操作”。...查下代码,发现代码中为了防止同一条数据多人同时操作,加了map作为缓存,数据记录的PK作为key和value。...总结 其实这个缓存清理的问题本身很简单,大家都懂,就和释放数据库连接等情况一样,需要放到finally块里面, 这个即使代码抛异常了也能正常释放或清理。...否则,万一出现类似的问题真的有点尴尬,正如题目所说“缓存的姿势不对,真的会出生产bug哦”。 希望你我今后都能避免这种情况的发生。

    40610

    阿常测试100问:复测前端BUG一定要缓存吗?

    读者提问:阿常老师,请问复测前端 BUG 是否一定要先缓存 ? 阿常回答:看情况,不一定都需要缓存。...开发同学:缓存清了没有,没有缓存的话先一下试试。 测试同学:缓存之后没问题了。...那什么情况下我们复测前端 BUG 时需要缓存,什么情况下不需要呢,下面我来和大家一起分析下: 一、复测前端 BUG 需要缓存的情况 如果前面遇到这个问题的时候,我们打开过这个页面,开发修复后提交给我们复测...,这个时候我们就必须先清除一下缓存。...二、复测前端 BUG 不必缓存的情况 如果前面存在这个问题的时候,我们没有打开这个页面,开发修复后提交给我们复测,我们打开这个页面,网页会自动帮我们刷新一次。

    49720

    面试官:你懂 HTTP 缓存,那说下浏览器强制刷新是怎么实现的?

    HTTP 缓存是前端面试必问的知识点,大多数前端也都能答出强缓存和协商缓存来,但如果换个问法呢? 比如问浏览器的强制刷新实现原理是什么? 你还能答出来么?...再次强制刷新,你会在 charles 里看到这个请求: 你会发现这个请求的 Cache-Control 变成了 no-cache,也就是和服务端协商是否要更新本地缓存,这就是强制刷新的实现原理!...,浏览器除了强制刷新,还有一个清空缓存强制刷新呀,那个是啥意思?...其实很容易理解,强制刷新是设置 no-cache,也就是和服务端协商决定用本地的缓存还是下载新的,但有的时候你想更新本地的缓存结果服务端让你用本地的缓存呢?...还有个清空缓存强制刷新的功能,那个是清掉本地的缓存再去协商,能保证一定是拿到最新的资源。 能答出网站缓存设置的最佳实践,也知道强制刷新的实现原理,就算是理论结合实践,真正搞懂 http 缓存了。

    1.2K30

    vue页面缓存问题_vue项目自动打开浏览器设置

    目录 1.什么是浏览器缓存 2.浏览器缓存类型 3.浏览器缓存的优势与劣势 4....浏览器缓存机制 5.如何清除浏览器缓存 ---- 在代码更新发布后,都会要求运营人员在访问网址时清除下本地缓存,防止万一掉坑 那问题就来了:每次缓存很麻烦,怎样就不需要他们每次去手动缓存呢?...这就涉及到了浏览器缓存的问题 1.什么是浏览器缓存 浏览器缓存(Browser Caching)是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时...,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览 2.浏览器缓存类型 缓存协商:Last-modified ,Etag 彻底缓存强制缓存):cache-control,Expires 3.浏览器缓存的优势与劣势...} } } no-cache:数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器 no-store:不仅不能缓存, 连暂存也不可以

    1.2K30

    为什么网站中的CSS或JS会带有v或version参数

    大家有时候会发现修改了CSS样式或者JS文件,刷新页面的时候不变,是因为客户端缓存了 CSS 或者 JS 文件,导致修改不省心,这时候一下缓存或者强制刷新一下就好了,因此加上参数还是有一定好处的!...原理: 例如 .htaccess 设置的 CSS、JS 缓存都有一个过期时间,如果在访客的浏览器中已经缓存了这些文件,在这些缓存未过期之前,浏览器只会优先从缓存中读取这些 CSS 和 JS 文件,如果你在服务器上修改了这些文件...,浏览器端是不会立马发生变化的,除非访客按了 Ctrl + F5 强制刷新或者手动清空了浏览器的缓存。...一个网站的访客成千上万,你不可能在更新 CSS 后让每个访客都刷新一下缓存,那么这个问题你会怎么处理呢? 方法一:更改CSS文件名 其实解决这个问题很简单,缓存是通过文件名标记缓存的内容的。...v=2020" /> 注意:部分代理缓存服务器不会缓存网址中包含 "?" 的资源,所以方法二可能会导致你原先的缓存功能失效,可以改用第一种方法。

    4.2K10
    领券