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