Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Magic cookie
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Type of data passed between programs}} In [[computing]], a '''magic cookie''', or just '''cookie''' for short, is a token or short packet of data passed between communicating [[Computer program|programs]]. The cookie is often used to identify a particular [[Event (computing)|event]] or as "handle, transaction ID, or other token of agreement between cooperating programs".<ref>{{cite web |last=Raymond |first=Eric |title=Cookie |url=http://www.catb.org/~esr/jargon/html/C/cookie.html |work=The Jargon File |accessdate=2022-01-04|quote=A handle, transaction ID, or other token of agreement between cooperating programs. “I give him a packet, he gives me back a cookie.” The claim check you get from a dry-cleaning shop is a perfect mundane example of a cookie; the only thing it's useful for is to relate a later transaction to this one (so you get the same clothes back).}}</ref> == Usage == Cookie data is typically not meaningful to the recipient program. The contents are [[opaque data type|opaque]] and not usually interpreted until the recipient passes the cookie data back to the sender or perhaps another program at a later time.{{cn|date=January 2022}} In some cases, recipient programs are able to meaningfully compare two cookies for equality.{{cn|date=January 2022}} The cookie can be used like a [[Ticket (IT security)|ticket]].{{cn|date=January 2022}} == Early use == The term ''magic cookie'' appears in the [[man page]] for the [[fseek]] routine in the C standard library, dating back at least to 1979, where it was stated: * "''ftell'' returns the current value of the offset relative to the beginning of the file associated with the named ''stream''. It is measured in bytes on UNIX; on some other systems it is a magic cookie, and the only foolproof way to obtain an ''offset'' for ''fseek''."<ref>UNIX Programmer's Manual, 7th Edition, Vol. 1, FSEEK (3S), Bell Telephone Laboratories, Murray Hill, New Jersey, January 1979.</ref><ref>UNIX Programmer's Manual, Vol. II (Library), FSEEK (3S), 4.2 BSD, 12 Feb 1983.</ref><ref>Bell Telephone Laboratories, Incorporated. "FSEEK(3S)." In ''UNIX Time-Sharing System: UNIX Programmer’s Manual'', Revised and expanded version of 7th Edition, Volume 1, page 263. New York: Holt, Rinehart and Winston, 1983. https://archive.org/details/unixtimesharings0001bell</ref> == Cookie as token == An analogy is the token supplied at a coat check ([[cloakroom]]) counter in [[Real life (reality)|real life]]. The token has no intrinsic meaning, but its uniqueness allows it to be exchanged for the correct coat when returned to the coat check counter. The coat check token is opaque because the way in which the counter staff are able to find the correct coat when the token is presented is immaterial to the person who wishes their coat returned. In other cases (as is possible with [[HTTP cookie]]s), the actual data of interest can be stored as name–value pairs directly on the cookie. Cookies are used as identifying tokens in many computer applications. When one visits a [[website]], the remote server may leave an HTTP cookie on one's computer, where they are often used to [[Authentication|authenticate]] identity upon returning to the website. Cookies are a component of the most common authentication method used by the [[X Window System]]. == References == {{Reflist}} {{Authority control}} [[Category:Data transmission]] [[pl:Cookie]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Cn
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)