19.9.3. Discussion
Cookies store information on the client's browser. If you're using
Netscape under Unix, you can inspect your own
~/.netscape/cookies file, although this doesn't
show your current cookies. It holds only those cookies present when
you last exited the browser. Think of them as per-application user
preferences or a way to help with transactions. Benefits of cookies
are that they can be shared between several different programs on
your server, and they persist even across browser invocations.
However, cookies can be used for dubious purposes like traffic
analysis and click tracing. This makes some folks very nervous about
who is collecting their personal data and what use will be made of
their page viewing habits. Cookies don't travel well, either. If you
use a browser at home or in someone else's office, it won't have the
cookies from the browser at your office. For this reason, do not
expect every browser to accept the cookies you give it. As if that
weren't bad enough, browsers can't guarantee they'll keep cookies
around forever. Here's an excerpt from the HTTP State Management
Mechanism RFC (number 2109):
Because user agents have finite space in which to store cookies, they
may also discard older cookies to make space for newer ones, using,
for example, a least-recently-used algorithm, along with constraints
on the maximum number of cookies that each origin server may set.
While in theory a browser can delete cookies at any time, a browser
that freely did so with session cookies or with recently used
longer-term cookies would quite annoy its users.
Due to their unreliability, you should probably not place too much
faith in cookies. Use them for simple, stateful transactions, and
avoid traffic analysis for reasons of privacy.