Koa.js - Cookies
Pliki cookie to proste, małe pliki / dane, które są wysyłane do klienta na żądanie serwera i przechowywane po stronie klienta. Za każdym razem, gdy użytkownik ponownie ładuje witrynę, ten plik cookie jest wysyłany z żądaniem. Pomaga to śledzić działania użytkowników. Istnieje wiele zastosowań plików cookie HTTP.
- Zarządzanie sesjami
 - Personalizacja (systemy rekomendacji)
 - Śledzenie użytkowników
 
Aby używać plików cookie w Koa, mamy następujące funkcje: ctx.cookies.set() i ctx.cookies.get(). Aby ustawić nowy plik cookie, zdefiniujmy nową trasę w naszej aplikacji Koa.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie() {
   this.cookies.set('foo', 'bar', {httpOnly: false});
}
var _ = router();
app.use(_.routes());
app.listen(3000); 
    Aby sprawdzić, czy plik cookie jest ustawiony, czy nie, po prostu przejdź do przeglądarki, uruchom konsolę i wprowadź -
console.log(document.cookie); 
    Spowoduje to wyświetlenie następującego wyniku (może być ustawione więcej plików cookie, być może z powodu rozszerzeń przeglądarki).
"foo = bar" 
    Oto przykład powyższego.
                Przeglądarka odsyła również pliki cookie za każdym razem, gdy wysyła zapytanie do serwera. Aby wyświetlić plik cookie na serwerze, na konsoli serwera w trasie dodaj następujący kod do tej trasy.
console.log('Cookies: foo = ', this.cookies.get('foo')); 
    Następnym razem, gdy wyślesz żądanie do tej trasy, otrzymasz następujące dane wyjściowe.
Cookies: foo = bar 
    Dodawanie plików cookie z czasem wygaśnięcia
Możesz dodać pliki cookie, które wygasają. Aby dodać plik cookie, który wygasa, po prostu przekaż obiekt z właściwością „expires” ustawioną na czas, w którym ma wygasnąć. Na przykład,
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
   //Expires after 360000 ms from the time it is set.
	this.cookies.set('name', 'value', { 
      httpOnly: false, expires: 360000 + Date.now() });
}
var _ = router();
app.use(_.routes());
app.listen(3000); 
    Usuwanie istniejących plików cookie
Aby usunąć plik cookie, po prostu ustaw plik cookie na pusty ciąg. Na przykład, jeśli chcesz usunąć plik cookie o nazwiefooużyj poniższego kodu.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
_.get('/', setACookie);
function *setACookie(){
   //Expires after 360000 ms from the time it is set.
   this.cookies.set('name', '');
}
var _ = router();
app.use(_.routes());
app.listen(3000); 
    Spowoduje to usunięcie wspomnianego pliku cookie. Pamiętaj, że powinieneś zostawićHttpOnly opcja ma być prawdziwa, gdy nie używa pliku cookie w kodzie po stronie klienta.