Dan*_*ang 25 google-chrome google-chrome-extension
根据这个 API文档,这是我发现的唯一描述内存缓存的源:
Chrome使用两个缓存 - 磁盘缓存和非常快速的内存缓存.内存高速缓存的生命周期附加到呈现过程的生命周期,该过程大致对应于选项卡.从内存缓存中回答的请求对Web请求API是不可见的.如果请求处理程序更改其行为(例如,阻止请求的行为),则简单页面刷新可能不会考虑此更改的行为.要确保行为更改通过,请调用handlerBehaviorChanged()以刷新内存缓存.但是不要经常这样做; 刷新缓存是一项非常昂贵的操作.注册或取消注册事件侦听器后,无需调用handlerBehaviorChanged().
我需要更好地了解内存缓存.具体来说,我需要Chrome每次访问网站时都会生成完整的webRequest /资源瀑布,包括刷新页面.显然,如果它使用内存缓存,则不可能是真的.
当我创建新选项卡时,内存缓存是否为新选项卡的清单?
"非常昂贵的操作"在多大程度上意味着什么?
如果每次在同一个选项卡中重新加载页面时都调用handlerBehaviorChanged(),那么这样可以保证完整的瀑布吗?在这种情况下,10分钟内限制20次似乎相当低.
任何帮助都非常感谢,谢谢!
就您而言,我认为您的问题在于长期缓存而不是内存缓存。在资源瀑布中,多个请求可以标记为已缓存。如果您愿意,可以通过多种方式来避免这种情况:
请记住仅将这些规则应用于您真正需要的资源。否则,您的网络服务器将因不必要的请求而过载。
正如提到的文档中所述:内存缓存不适用于不同的页面渲染,即使对于相同的 url 和同一选项卡(内存缓存附加到渲染进程的生命周期),所以我认为这并不适用申请您的案例。每次显示页面时,渲染周期都会结束,如果再次渲染,则会开始另一个周期。例如:当图像第一次加载时出现在瀑布中,但在同一页面上的后续请求中则不会出现。
| 归档时间: |
|
| 查看次数: |
11504 次 |
| 最近记录: |