What are cookies?
We’ve all been harassed with the following request:
This website uses cookies … Please accept to continue …
Oh yeah!
Cookies are data that are collected from websites that you visit and are stored on your own computer so that when next you visit that same website, the website remembers who you are, what your preferences are, what you have in your cart, etc.
Cookies are part of the http protocol which most applications have come to rely on, and which sadly can also be subject to exploitation.
Cookies enable servers to send items of data to the client, which the client stores and resubmits back to the server. Unlike the other types of request parameters (those within the URL query string or the message body), cookies can also be resubmitted in each subsequent request without any particular required interaction with the user or the application itself.
Cookies consist of a name/value pair, but they can also consist of any string that does not contain a space. Multiple cookies can be issued by using multiple Set-Cookie headers in the server’s response, and are all submitted back to the server in the same Cookie header, with a semicolon separating different individual cookies.
In addition to the cookie’s actual value, the Set-Cookie header can also include any of the following optional attributes, which can be used to control how the browser handles the cookie:
Cookies are not inherently bad in themselves, but the attributes set on a cookie can seriously impact the security of the application and make it vulnerable to malicious attacks.
When debugging JavaScript, you’ll often encounter ReferenceError and TypeError. While both indicate something went wrong,…
When selecting DOM elements in JavaScript, two common methods are document.querySelector() and document.getElementById(). But which…
When starting a JavaScript project, one of the first decisions you’ll face is: Should I…
Software development is one of the most valuable skills you can learn. From building websites…
In JavaScript, arrays are used to store multiple values in a single variable. While JavaScript…
Containerization is a lightweight form of virtualization that packages an application and its dependencies into…