{"id":110391,"date":"2021-06-22T07:00:00","date_gmt":"2021-06-22T04:00:00","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=110391"},"modified":"2021-06-14T20:03:33","modified_gmt":"2021-06-14T17:03:33","slug":"express-js-cookies-tutorial","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html","title":{"rendered":"Express.js Cookies Tutorial"},"content":{"rendered":"<p>Hello in this tutorial, we will understand Cookies and implement them in an Express.js application.<\/p>\n<h2>1. Introduction<\/h2>\n<p><strong>Cookies<\/strong> are a piece of any information sent from the server and are stored in the client\u2019s browser. This information helps to track the client\u2019s action and the browser sent it back to the server every time a client visits the website to recognize the client and its actions. Cookies in an application are used to manage sessions, client personalization, and tracking.<\/p>\n<h3>1.1 Setting up Node.js<\/h3>\n<p>To set up Node.js on windows you will need to download the installer from <a href=\"https:\/\/nodejs.org\/en\/download\/\" target=\"_blank\" rel=\"noopener\">this<\/a> link. Click on the installer (also include the NPM package manager) for your platform and run the installer to start with the Node.js setup wizard. Follow the wizard steps and click on Finish when it is done. If everything goes well you can navigate to the command prompt to verify if the installation was successful as shown in Fig. 1.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/node-npm-installation-img1-2.jpg\"><img decoding=\"async\" width=\"480\" height=\"91\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/node-npm-installation-img1-2.jpg\" alt=\"express.js cookies - npm installation\" class=\"wp-image-110392\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/node-npm-installation-img1-2.jpg 480w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/node-npm-installation-img1-2-300x57.jpg 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><figcaption>Fig. 1: Verifying node and npm installation<\/figcaption><\/figure>\n<\/div>\n<h2>2. Express.js Cookies Tutorial<\/h2>\n<p>To set up the application, we will need to navigate to a path where our project will reside. For programming stuff, I am using <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener\">Visual Studio Code<\/a> as my preferred IDE. You&#8217;re free to choose the IDE of your choice.<\/p>\n<h3>2.1 Setting up dependencies<\/h3>\n<p>Navigate to the project directory and run <code>npm init -y<\/code> to create a <code>package.json<\/code> file. This <a href=\"https:\/\/docs.npmjs.com\/creating-a-package-json-file\" target=\"_blank\" rel=\"noopener\">file<\/a> holds the metadata relevant to the project and is used for managing the project dependencies, script, version, etc. Add the following code to the file wherein we will specify the required dependencies.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>package.json<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_354327\" class=\"syntaxhighlighter  json\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"json plain\">{<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"name\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"expressjs-cookies\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"version\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"1.0.0\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"description\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"Express js and cookies tutorial\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"main\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"index.js\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"scripts\"<\/code><code class=\"json plain\">: {<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"json string\">\"test\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"echo \\\"Error: no test specified\\\" &amp;&amp; exit 1\"<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json plain\">},<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"keywords\"<\/code><code class=\"json plain\">: [<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"json string\">\"expressjs\"<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json plain\">],<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"author\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"daniel atlas\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"license\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"MIT\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"dependencies\"<\/code><code class=\"json plain\">: {<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"json string\">\"cookie-parser\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"^1.4.5\"<\/code><code class=\"json plain\">,<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"json string\">\"express\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"^4.17.1\"<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json plain\">},<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json string\">\"devDependencies\"<\/code><code class=\"json plain\">: {<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"json spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"json string\">\"nodemon\"<\/code><code class=\"json plain\">: <\/code><code class=\"json string\">\"^2.0.7\"<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"json spaces\">&nbsp;&nbsp;<\/code><code class=\"json plain\">}<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"json plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>To download the dependencies navigate to the directory path containing the file and use the <code>npm install<\/code> command. If everything goes well the dependencies will be loaded inside the <code>node_modules<\/code> folder and you are good to go with the further steps.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<h3>2.2 Creating the controller file<\/h3>\n<p>Create a controller file in the <code>routes<\/code> folder. This file will expose endpoints that will be responsible to entertain the request from the client.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>api.js<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_380308\" class=\"syntaxhighlighter  js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js plain\">const express = require(<\/code><code class=\"js string\">'express'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js plain\">const router = express.Router();<\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js comments\">\/\/ http get<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"js comments\">\/\/ <a href=\"http:\/\/localhost:4001\/\">http:\/\/localhost:4001\/<\/a><\/code><\/div>\n<div class=\"line number6 index5 alt1\">&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"js plain\">router.get(<\/code><code class=\"js string\">'\/'<\/code><code class=\"js plain\">, (req, res) =&gt; {<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">res.status(200).json({info: <\/code><code class=\"js string\">'Application is working fine'<\/code><code class=\"js plain\">});<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"js plain\">});<\/code><\/div>\n<div class=\"line number10 index9 alt1\">&nbsp;<\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"js comments\">\/\/ http post<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"js comments\">\/\/ <a href=\"http:\/\/localhost:4001\/set?id=2f4c0e2d-7cbc-41f0-9636-0f6e39b55b46&amp;full_name=Daniel\">http:\/\/localhost:4001\/set?id=2f4c0e2d-7cbc-41f0-9636-0f6e39b55b46&amp;full_name=Daniel<\/a><\/code><\/div>\n<div class=\"line number13 index12 alt2\">&nbsp;<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"js plain\">router.post(<\/code><code class=\"js string\">'\/set'<\/code><code class=\"js plain\">, (req, res) =&gt; {<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">console.log(<\/code><code class=\"js string\">'Setting cookie'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number16 index15 alt1\">&nbsp;<\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js keyword\">let<\/code> <code class=\"js plain\">obj = {<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">id: req.query.id,<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">full_name: req.query.full_name<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">};<\/code><\/div>\n<div class=\"line number21 index20 alt2\">&nbsp;<\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">res.status(201)<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">.cookie(<\/code><code class=\"js string\">'emp'<\/code><code class=\"js plain\">, obj, {maxAge: 360000})&nbsp;&nbsp; <\/code><code class=\"js comments\">\/\/The cookie will expire after 360000 ms from the time it is set.<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">.json({info: <\/code><code class=\"js string\">'Cookie set successfully'<\/code><code class=\"js plain\">});<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"js plain\">});<\/code><\/div>\n<div class=\"line number26 index25 alt1\">&nbsp;<\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"js comments\">\/\/ http get<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"js comments\">\/\/ <a href=\"http:\/\/localhost:4001\/get\">http:\/\/localhost:4001\/get<\/a><\/code><\/div>\n<div class=\"line number29 index28 alt2\">&nbsp;<\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"js plain\">router.get(<\/code><code class=\"js string\">'\/get'<\/code><code class=\"js plain\">, (req, res) =&gt; {<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">console.log(<\/code><code class=\"js string\">'Returning cookie'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number32 index31 alt1\">&nbsp;<\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">res.status(200).json({info: req.cookies});<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"js plain\">});<\/code><\/div>\n<div class=\"line number35 index34 alt2\">&nbsp;<\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"js comments\">\/\/ routes<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"js plain\">module.exports = router;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>2.3 Creating an index file<\/h3>\n<p>Create an index file that will act as an entry point for our server. The file will contain the code to define the routes to the application endpoints.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>index.js<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_166405\" class=\"syntaxhighlighter  js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js plain\">const express = require(<\/code><code class=\"js string\">'express'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js plain\">const cookieParser = require(<\/code><code class=\"js string\">'cookie-parser'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js plain\">const app = express();<\/code><\/div>\n<div class=\"line number5 index4 alt2\">&nbsp;<\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"js plain\">app.use(cookieParser())<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"js comments\">\/\/Application routes<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"js plain\">app.use(<\/code><code class=\"js string\">'\/'<\/code><code class=\"js plain\">, require(<\/code><code class=\"js string\">'.\/routes\/api'<\/code><code class=\"js plain\">));<\/code><\/div>\n<div class=\"line number9 index8 alt2\">&nbsp;<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"js plain\">const PORT = process.env.port || 4001;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"js plain\">app.listen(PORT, () =&gt; {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">console.log(`Server started on port ${PORT}`);<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"js plain\">});<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>3. Run the Application<\/h2>\n<p>To run the application navigate to the project directory and enter the following command as shown in Fig. 4. If everything goes well the application will be started successfully on port number <code>4001<\/code>.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/code-run-img1.jpg\"><img decoding=\"async\" width=\"765\" height=\"143\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/code-run-img1.jpg\" alt=\"express.js cookies - starting the app\" class=\"wp-image-110393\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/code-run-img1.jpg 765w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/code-run-img1-300x56.jpg 300w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/a><figcaption>Fig. 2: Starting the application<\/figcaption><\/figure>\n<\/div>\n<h2>4. Project Demo<\/h2>\n<p>When the application is started, open the <a href=\"https:\/\/www.getpostman.com\/\" target=\"_blank\" rel=\"noopener\">Postman<\/a> tool to hit the application endpoints. You are free to choose any tool of your choice.<\/p>\n<p><span style=\"text-decoration: underline;\"><em>Application endpoints<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_864759\" class=\"syntaxhighlighter  plain\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"plain plain\">\/\/ index<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"plain plain\">HTTP GET url - <a href=\"http:\/\/localhost:4001\/\">http:\/\/localhost:4001\/<\/a><\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"plain plain\">\/\/ set the cookie<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"plain plain\">HTTP POST url - <a href=\"http:\/\/localhost:4001\/set?id=2f4c0e2d-7cbc-41f0-9636-0f6e39b55b46&amp;full_name=Daniel\">http:\/\/localhost:4001\/set?id=2f4c0e2d-7cbc-41f0-9636-0f6e39b55b46&amp;full_name=Daniel<\/a><\/code><\/div>\n<div class=\"line number6 index5 alt1\">&nbsp;<\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"plain plain\">\/\/ get the cookie<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"plain plain\">HTTP GET url - <a href=\"http:\/\/localhost:4001\/get\">http:\/\/localhost:4001\/get<\/a><\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Similarly, you can create other endpoints. That is all for this tutorial and I hope the article served you with whatever you were looking for. Happy Learning and do not forget to share!<\/p>\n<h2>5. Summary<\/h2>\n<p>In this tutorial, we learned \u2013<\/p>\n<ul>\n<li>Introduction to Cookies<\/li>\n<li>Steps to setup Node.js<\/li>\n<li>Sample programming stuff<\/li>\n<\/ul>\n<p>You can download the source code of this tutorial from the <a href=\"#projectDownload\">Downloads<\/a> section.<\/p>\n<h2><a name=\"projectDownload\"><\/a>6. Download the Project<\/h2>\n<p>This was a programming tutorial to manage cookies in an express.js application.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>You can download the full source code of this example here: <a href=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2021\/06\/Express.js-Cookies-Tutorial.zip\"><strong>Express.js Cookies Tutorial<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information sent from the server and are stored in the client\u2019s browser. This information helps to track the client\u2019s action and the browser sent it back to the server every time a &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":20900,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1879],"tags":[991,803,741],"class_list":["post-110391","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript","tag-express-js","tag-javascript","tag-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Express.js Cookies Tutorial - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Express.js Cookies Tutorial - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-22T04:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Express.js Cookies Tutorial\",\"datePublished\":\"2021-06-22T04:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html\"},\"wordCount\":543,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/javascript-logo.jpg\",\"keywords\":[\"Express.js\",\"JavaScript\",\"Node.js\"],\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html\",\"name\":\"Express.js Cookies Tutorial - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/javascript-logo.jpg\",\"datePublished\":\"2021-06-22T04:00:00+00:00\",\"description\":\"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/javascript-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/javascript-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/express-js-cookies-tutorial.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Development\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/web-development\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JavaScript\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/web-development\\\/javascript\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Express.js Cookies Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Express.js Cookies Tutorial - Java Code Geeks","description":"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html","og_locale":"en_US","og_type":"article","og_title":"Express.js Cookies Tutorial - Java Code Geeks","og_description":"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information","og_url":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2021-06-22T04:00:00+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Express.js Cookies Tutorial","datePublished":"2021-06-22T04:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html"},"wordCount":543,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg","keywords":["Express.js","JavaScript","Node.js"],"articleSection":["JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html","url":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html","name":"Express.js Cookies Tutorial - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg","datePublished":"2021-06-22T04:00:00+00:00","description":"Hello in this tutorial, we will understand Cookies and implement them in an Express.js application. 1. Introduction Cookies are a piece of any information","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2014\/01\/javascript-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/express-js-cookies-tutorial.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Web Development","item":"https:\/\/www.javacodegeeks.com\/category\/web-development"},{"@type":"ListItem","position":3,"name":"JavaScript","item":"https:\/\/www.javacodegeeks.com\/category\/web-development\/javascript"},{"@type":"ListItem","position":4,"name":"Express.js Cookies Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/110391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=110391"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/110391\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/20900"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=110391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=110391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=110391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}