Proposal: Cookie Priorities

Way back in 2013, folks at Google put together a proposal for a `priority`
attribute for cookies with the intent of allowing servers to influence a
user agent's retention policy[1]. Chrome has been shipping this feature
since ~November 2013[2], and Google servers have been using it since then.
It would be lovely to get more feedback on the concept from other folks
outside the company, so I've just submitted a copy/pasted version of the
original proposal[3] as
https://tools.ietf.org/html/draft-west-cookie-priority-00. Apologies for
the years of delay. :/

Like many other excitingly huge companies, Google has both internal and
external servers hosted on subdomains of `google.com`, and employees hit
the user agent's cookie retention limit on a regular basis. In order to
insure that this doesn't result in lost sessions, Google marks certain
cookies as `Priority=High`, and others as `Priority=Low`. As you might
imagine, the latter are evicted more frequently than regular cookies, the
former less frequently. The document describes how Chrome takes these
priorities into account when evicting cookies from the cookie store.
Anecdotally, folks internally have found it quite helpful in terms of
retaining session state.

There's still some work to do to bring the document up to date with
proposals like
https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-00 which also
aim to alter the browser's eviction policy. I'm working through the
implications of that document on this proposal in Chrome right now, and
will document whatever merger we end up considering sane once we figure out
what it it might be. :)

One of the original authors (Erik) has left Google, and I haven't been
successful at getting in contact with him: I'm hopeful that we can get him
involved again. Regardless, Samuel and I would be thrilled to hear what
this group thinks of the proposal.

Thanks!

[1]:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/xK4IJ1-5oJE
[2]: https://codereview.chromium.org/54303010
[3]:
https://docs.google.com/a/google.com/file/d/0B3o1IlTKoADVRllKWGlyWGxIVTg/edit

-mike

Received on Thursday, 3 March 2016 15:58:59 UTC