C is for Cookie

Yesterday, I wrote a post talking about session state and the short term memory of browser sessions. I mentioned that browsers are stateless. So we have to deal with session state in some other way. There are basically two ways…cookies and HTML5 storage. Full disclosure…I prefer HTML5 storage, but cookies are still in wide use, so it is important to know how they work. So let’s dive into cookies and look at an example.

Cookies are basically plain text files that store strings pertaining to a specific domain. Since they are plain text, DO NOT store anything that is sensitive in nature in a cookie.

Each cookie can have an expiration date on it. If you do not set a date on a cookie, then the cookie dies when the browser session ends, which kind of defeats the purpose. So put a date on all of your cookies. If you need it to be semi-permanent, put a date that is far out into the future.

So how do we create a cookie?

[code lang=”js”]
// Function to create/write a cookie
// Function will take three parameters…name of cookie, value of cookie
// and days it is set to last
function writeCookie(name, value, days) {
// By default, there is no expiration so the cookie is temporary
var expires = "";
// Specifying a number of days makes the cookie persistent
// Sending a days parameter is optional
if (days) {
// Access the date object to set an expiration date
var date = new Date();
// Grab the current time and add to it to set the expiration into the future
// The date will be set to however many days are passed to function
// Calculation for days is milliseconds (1000) * 60 seconds to a minute
// 60 minutes to an hour and 24 hours to a day
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
// Set the expires value
expires = "; expires=" + date.toGMTString();
}
// Set the cookie to the name, value, and expiration date
document.cookie = name + "=" + value + expires + "; path=/";
}
[/code]

So that is a function that you could use to write a cookie to the end user’s system. You could call it as follows…

[code lang=”js”]
// Create a cookie and store it for five years
writeCookie("some_cookie_name", someVariable, 5 * 365);
[/code]

In a future post, I will look at how we read cookies we have saved and even get rid of them.

Happy Coding!

Clay Hess

More To Explore

Code

Exploring the Broadcast Channel API: Inter-Tab Communication

Intercommunication between different contexts (like tabs, iframes or workers) of the same origin has often been a challenge. With the Broadcast Channel API, developers now have a powerful tool to easily communicate between browsing contexts. In this blog post, we’ll dive deep into the capabilities of the Broadcast Channel API, exploring its features, use cases, and how it can be effectively implemented in your projects.

computer, laptop, work place-2982270.jpg
Code

Unlocking Wireless Communication: A Dive into the Bluetooth API

Wireless communication has become an integral part of our daily lives, and Bluetooth technology is at the forefront of this revolution, enabling devices to exchange data over short distances and creating a world more interconnected than ever before. At the heart of this technology lies the Bluetooth Application Programming Interface (API), a powerful tool for developers looking to harness the capabilities of Bluetooth in their applications. In this blog post, we’ll explore what the Bluetooth API is, how it works, and the possibilities it opens up for innovation in wireless communication.

Share This Post

small_c_popup.png

Need help?

Let's have a chat...


Login

Jump Back In!

Here at Webolution Designs, we love to learn. This includes sharing things we have learned with you. 

Register

Begin Your Learning Journey Today!

Come back inside to continue your learning journey.