Cookie: иногда также используется форма множественного числа Cookies. Тип — «небольшой текстовый файл», который представляет собой данные (обычно зашифрованные), хранящиеся на локальном терминале пользователя некоторыми веб-сайтами для идентификации личности пользователя и отслеживания сеанса. Информация временно или постоянно сохраняется на клиентском компьютере пользователя.
Для работы с файлами cookie с узлом нам понадобится модуль cookie-parser
npm i cookie-parser -s.
Затем добавьте этот модуль в наш файл
//Введите экспресс-модуль const express = require('express') // Создание экземпляра экспресса константное приложение = экспресс() //Операционный модуль cookie const cookieParser = require('cookie-parser'); //Добавить подпись файла cookie app.use(cookieParser('Really outrageous')); //Использовать промежуточное программное обеспечение для файлов cookie, зашифрованное значение: 'Really Outrageous'Имя
подробного параметра
: имя, которое однозначно идентифицирует файл cookie.
значение: значение строки, хранящейся в файле cookie.
домен: файл cookie действителен для этого домена.
путь: указывает путь, на который влияет этот файл cookie. Браузер отправит файлы cookie по соответствующему пути в указанном домене на основе этой конфигурации.
expires: время истечения срока действия, указывающее, когда истекает срок действия файла cookie. Если это время не установлено, браузер удалит все файлы cookie при закрытии страницы, но мы также можем установить время истечения срока действия самостоятельно.
Примечание. Если время, установленное на клиенте и сервере, несовместимо, при истечении срока использования произойдет отклонение.
max-age: используется, чтобы сообщить браузеру, как долго истекает срок действия этого файла cookie (в секундах). Как правило, max-age имеет более высокий приоритет, чем срок действия.
HttpOnly: сообщите браузеру, чтобы он не разрешал сценарию document.cookie изменять значение. Это значение также невидимо в document.cookie, но этот файл cookie будет перенесен в HTTP-запрос.
Примечание. Хотя это значение не рекомендуется использовать в сценариях, оно существует в виде файла в каталоге установки браузера. Обычно этот параметр задается на стороне сервера.
Secure: флаг безопасности. Когда параметр Secure имеет значение true, он недействителен в HTTP и действителен только для HTTPS. Это означает, что созданный файл cookie может быть передан только браузером на сервер для проверки сеанса в соединении HTTPS. HTTP-соединения не передают эту информацию, поэтому ее обычно не слышно.
Что касается проблем с чтением,
req.cookies: читает наши незашифрованные файлы cookie;
req.signedCookies: читает наши зашифрованные файлы cookie.
Случай
app.get('/', (req, res) => { res.cookie('cart', { items: [1, 2, 3] }, { maxAge: 10000 * 2, httpOnly: true, Signed: true, path: '/' }); res.cookie('user', 'Чжан Сан', { httpOnly: true, путь: '/user', подпись: true }) res.send('ок') console.log(req.cookies) console.log(req.signedCookies) })
app.get('/user', (req, res) => { console.log(req.cookies) res.send(req.signedCookies) })
app.get('/news', function (req, res) { res.cookie('Age', 'Dabai', { maxAge: 10000 * 2, httpOnly: true,подписано: true }) res.cookie('Age', '0', { maxAge: 0 }); //Удалить файл cookie. res.send('Привет, новости nodejs') })
Наши cookie
будут удалены, когда maxAge
станет равным 0
.