GC期间将删除哪种类型的Cookie?

时间:2017-05-19 04:44:51

标签: javascript cookies garbage-collection

我设置了一个有效期为一年的cookie。但它经常被删除。要知道原因,我使用了cookie监控扩展。这表明原因已被驱逐"。被驱逐的原因意味着在GC期间被驱逐。有没有可能的解决方法来防止GC删除cookie?

1 个答案:

答案 0 :(得分:1)

  

它被频繁删除,原因是被驱逐"。

是的,它被cookie monster吃掉了(不,不是that one):

" 设置cookie时会发生垃圾收集(预计这种情况比检索cookie的次数少得多)。垃圾收集确保每个eTLD + 1的cookie数量不超过某个最大值,并且类似于cookie总数。该算法既流量又微妙;有关详细信息,请参阅cookie_monster.h中的注释。"

在网上搜索时,您会发现一些错误报告,讨论对算法的各种调整。

  

是否有可能的解决方法来阻止GC删除Cookie?

不是真的。当浏览器确定存在too many cookies时,它会吃掉它们。你无法阻止这种情况(并且能够成为一个巨大的安全/隐私问题)。

您的策略应该是使用尽可能少的Cookie(我不是指使用一个大的!),并尽可能经常使用您的网站。您还可以通过区分安全和非安全cookie来提示浏览器应首先删除哪些cookie。您可能还希望使用a draft for a Priority attribute