WTF do we call them Cookies???
If you didn’t know anything about coding, and I asked you what “cookies” were in the context of the internet (not the delicious baked good), what would you say? The average computer user, while proficient at browsing Youtube videos and debating politics with family members on Facebook might not know how cookies function in the context of HTTP. Up until 5 weeks ago when I started a coding bootcamp at the Flatiron School, you could include me in that category. All I knew about cookies were that I occasionally had to delete them from my internet’s browsing history.
Hypertext Transfer Protocol or HTTP is the universal way computers communicate information online. It is made up of a system of request and responses. The client…you, makes a request to view a resource online, to which a server responds with a response. HTTP is a stateless protocol, which means that, in its natural state, information is not stored when you go to different pages online. If you’re thinking “No, Eugene, I know how to internet, if that were the case how do I stay logged in on Facebook when I’m looking at all these cat memes?” Enter HTTP Cookies…
HTTP Cookies are small pieces of data internet browsers use to store data locally. They are used by websites to make your browsing experience more efficient and customizable. It was what keeps you logged in on Facebook, and helps Youtube keep track of what videos you’ve viewed as well as which ones the recommend. But, why on earth do we call them cookies???
My programming experience is still in it’s infancy but I’ve heard from several sources and read that naming things in programming is one of the hardest things to do. So, I did some research on how to name stuff, and came across this guide by Alexandra Franz. “The Ultimate Guide to Naming Your Thing.”
Here is her list of strategies to consider when naming something:
- What is it?
- What does it help you do?
- W’s the deeper, spiritual effect?
- Where is it?
- Who is it for?
- What does it feel like?
- Is there a common “turn of phrase” or “idiom” that sums it up?
- Is there a pun?
- What’s the big message?
- Your business name + a descriptive word
I believe that naming one of the methods in which we persist data across different webpages “Cookies” breaks each of these rules. That is why I tryied to find the origin of the name.
Basically, the short answer is…well there isn’t really a short answer.
HTTP Cookies were first coined by a Lou Montulli in the 1994. He was a founding engineer of Netscape Communications and on a side note is partially responsible for our ability to be able to do this:
Although HTTP Cookies, in its present day iteration, were developed in the mid 90’s, the cookie moniker predates even its creation. “Magic cookies” were used in Unix operating systems and the C programming language to pass small packets of data between communicating programs as early as 1979. It is here, that Montulli developed the idea to use them in web browsers. However, the origin of the “cookie” reference is still unknown. There are a few popular theories though:
- The mysterious origin of “cookies” have led some to believe the term is somewhat sinister. Some have speculated that, “magic cookie” is an LSD reference to an old Dan O’neil cartoon strip from the 70’s which was popular in San Francisco.
- Another popular theory is the known as the Hansel and Gretel Theory. Just like Hansel and Gretel left a trail of crumbs so they could find their way back from the witch’s house, cookies leave a “trail” of data through the web.
- “It may be derived from the concept of “Cookie In The Cookie Jar” — You fill a cookie jar with various cookies, and as needed, cookies are taken out to be eaten. Certain people will eat certain cookies, as certain websites will use certain cookies. Cookie snacks eventually expire, as they go stale; just as website cookies eventually expire, as they have no more meaning or use. Someone may save a cookie in the cookie jar (or temporary internet files) to come back to it later. Websites save their cookies to come back to it later, when needed.” — Wikipedia, DJJD