Bei Cookies ist immer von kleinen Text-Dateien die Rede, die vom Browser gespeichert werden. Ein Cookie hat grundsätzlich einen Namen und einen Wert, beides sind beliebige Texte. Außerdem ist ein Cookie immer einer Domain zugeordnet, die den Geltungsbereich eingrenzt. Neben einigen weiteren Attributen kann unter anderem noch ein Ablaufdatum gesetzt werden. Welche Cookies der Browser aktuell gespeichert hat, kann man sich jederzeit anschauen (etwa mit den Devtools des Browsers).
Wenn ein Browser eine Anfrage an einen Server schickt, werden die relevanten Cookies (anhand der Domain) mit der Anfrage als sogenannter Header mitgesendet, sodass der Server einsehen kann, welche Cookies der anfragende Browser gesetzt hat.
Im Gegenzug kann ein Server in seiner Antwort an den Browser mit einem Response-Header die Anweisung geben, gewisse Cookies zu setzen, die dann wiederum bei der nächsten Anfrage wieder mitgeschickt werden.
Auf diese Weise bekommen Browser und Server ein gemeinsames "Gedächtnis", über das sie Informationen merken und austauschen können.
Ein gängiger Anwendungsfall für Cookies ist etwa ein Warenkorb in einem Onlineshop, bei dem die Artikel nach und nach gesammelt werden und schließlich vom Server in einer Bestellung verarbeitet werden.