Push cache推送缓存/启发式缓存

Push Cache(推送缓存)是针对HTTP/2标准下的推送资源设定的 ,是浏览器缓存的最后一道缓存机制,是在设置了Last-Modifed但没有设置Cache-Control或者Expires时触发,也就是只拿到最后更新时间,但没有设置过期时间,这种情况下浏览器会有一个默认的缓存策略push cache,自动设置过期时间:(Date - Last-Modified)*0.1,也就是当前时间减去最后更新时间后再乘10%。

这种策略只在会话session中存在,会话结束就被释放了。

这种策略也有个弊端,假设session存在的时间够长,如果该资源是在一个月前更新的,那么它再次更新的话用户只能在3天后才能拿到新资源。

推送缓存是session级别的,如果用户的session结束则资源被释放;即使URL相同但处于不同的session中也不会发生匹配。推送缓存的存储时间较短,Chromium浏览器中只有5分钟左右,同时它也并非严格执行HTTP头中的缓存指令

Jake Archibald有一篇很有意思的文章HTTP/2 push is tougher than I thought描述了他对HTTP/2推送缓存的一些测试,有一些结论可以放上来以供参考,有一些也和我们上面的结论是一致的

  • 几乎所有的资源都能被推送,并且能够被缓存。测试过程是作者在推送资源之后尝试用fetch()、XMLHttpRequest、<link rel="stylesheet" href="…">、<script src="…">、<iframe src="…">获取推送的资源。Edge和Safari浏览器支持相对比较差

  • no-cache和no-store资源也能被推送

  • 多个页面可以使用同一个HTTP/2的连接,也就可以使用同一个Push Cache。这主要还是依赖浏览器的实现而定,出于对性能的考虑有的浏览器会对相同域名但不同的tab标签使用同一个HTTP连接。

  • 一旦Push Cache中的资源被使用即被移除

  • 如果Push Cache或者HTTP Cache已经存在被推送的资源,则有可能浏览器拒绝推送

  • 你可以为其他域名推送资源

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
git push 强制推送是指使用命令"git push -f"将本地代码强制推送到远程仓库。 通过添加"-f"参数,可以覆盖远程分支的提交记录,将本地分支的代码强制更新到远程分支上。 需要注意的是,强制推送可能会导致远程分支的历史记录被修改或丢失,因此在使用强制推送之前,务必确认本地代码无误,并通知其他协作者。同时,避免多人同时操作同一个分支,以免引起代码冲突的问题。可以使用Git分支管理功能将代码分支化,减少冲突的可能性。 总之,Git强制推送是一种特定情况下使用的操作,需要谨慎使用,遵循团队协作规范,确保代码的正确性和完整性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [git push 强制推送](https://blog.csdn.net/qq_34343254/article/details/113444065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Git强制推送命令和注意事项](https://blog.csdn.net/qq_52637449/article/details/129930758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值