What are Cookies?
Web browsers and servers communicate using the HTTP protocol, and HTTP is a stateless protocol. But for a commercial website it needs to maintain session information between different pages. For example, after completing multiple pages, a user registration ends. But how to maintain session information for all web users.
In many cases, using cookies is the most effective way to remember and track information such as preferences, purchases, commissions, and requests for a better visiting experience or website statistics.
How does it work?
The server sends some data to the visitor's browser in the form of a cookie. This browser can accept cookies. If so, it is a text-only record stored on the hard drive for the visitor. Now, when a visitor reaches another page on your site, the browser sends the same cookie to the server for retrieval. Once retrieved, the server knows/remembers what just happened to be stored.
Cookies have plain text data records with 5 variable length fields:
Cookies were originally designed for use in CGI programming and cookie data are automatically transferred between web browsers and web servers, so CGI scripts on the server can read and write cookies stored on the client value.
JavaScript can also operate using the cookie attribute of the document object. JavaScript can read, create, modify and delete cookies or cookies applicable to the current web page.
Save Cookies:
The simplest way to create a cookie is to assign a string value to the document.cookie object, which looks like this:
Grammar
document.cookie = "key1=value1;key2=value2;expires=date";
Here, expires attribute option. If this attribute is provided with a valid date or time, the cookie will expire at the given date or time, and the cookie's value will then be inaccessible.
Note: Cookie values may not include semicolons, commas, or whitespace. For this reason, it may be necessary to use JavaScript's escape() function to encode the stored value before the cookie. If you do this, you must also use the corresponding unescape() function when reading the cookie's value.
Read Cookies:
Reading cookies is as easy as writing because the value of document.cookieobject is the cookie. So whenever you want to access the cookie, you can use this string.
The string document.cookie will be continued by a semicolon, where name is the name of a cookie and value is a list of name=value pairs separated by its string value.
Set the expiration date of cookies:
It is possible to extend the life of a cookie beyond the current browser session by setting the expiry date and expiration date in the saved cookie. This can be done by setting the date and time of the expires attribute.
Example:
The following example demonstrates how to set a cookie to expire after 1 month:
<html> <head> <script type="text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() + 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie="name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Delete Cookies:
Sometimes if you want to delete a cookie, what will be returned when you try to read the cookie later. To do this, you just need to set the expiry date to be some time in the past.
Example:
The following example demonstrates how to delete a cookie by setting the expiry date one month ago:
<html> <head> <script type="text/javascript"> <!-- function WriteCookie() { var now = new Date(); now.setMonth( now.getMonth() - 1 ); cookievalue = escape(document.myform.customer.value) + ";" document.cookie="name=" + cookievalue; document.cookie = "expires=" + now.toUTCString() + ";" alert("Setting Cookies : " + "name=" + cookievalue ); } //--> </script> </head> <body> <form name="formname" action=""> Enter name: <input type="text" name="customer"/> <input type="button" value="Set Cookie" onclick="WriteCookie()"/> </form> </body> </html>
Note: Without setting the date, you can use the setTime() function to see the new value.