Pernyataan resmi peran cookie-parser adalah: Parse Cookie Header dan req.cookies populer dengan objek yang dikunci oleh nama cookie. Pemahaman saya adalah mengonversi cookie di header dan menggabungkannya dengan req.cookies. Sebagai inti dari cookie-parser, Parser meminta 2 fungsi: SignedCookies dan JsonCookies, serta fungsi pembantu mereka.
Artikel ini mengakhiri plug-in ini di sini. Mari kita tinjau dan juga buka artikel berikutnya tentang pembelajaran sesi.
Cookie-Parser mengambil cookie dari klien dan kemudian melewati sesi ekspres (berbasis ekspres). Pada klien, itu direpresentasikan sebagai string yang ditandatangani. Di server, karena metode unsign digunakan, Anda dapat melihat karakter yang tidak ditandatangani. Dengan cara ini, semua misteri terurai. Mari kita lihat kode sesi yang menangani cookie.
Salinan kode adalah sebagai berikut: fungsi setCookie (res, nama, val, rahasia, opsi) {
var ditandatangani = 's:' + Signature.sign (val, rahasia);
// .... dihilangkan
res.setheader ('set-cookie', header)
}
Di sini, Set-Cookie digunakan untuk menulis cookie. Ketika klien mengirim cookie, cookie parser.js yang ditandatangani digunakan.
Salinan kode adalah sebagai berikut: ekspor.
var cookies = objek.keys (obj);
var dec;
var kunci;
var ret = object.create (null);
var val;
untuk (var i = 0; i <cookies.length; i ++) {
kunci = cookie [i];
val = obj [kunci];
dec = ekspor.
if (val! == dec) {
ret [kunci] = dec;
hapus obj [kunci];
}
}
kembali kembali;
};
Exports.SignedCookie = function (str, Secret) {
kembalikan str.substr (0, 2) === 's:'
? Signature.unsign (str.slice (2), rahasia)
: str;
};
Dalam fungsi bantuan yang ditandatangani dengan baik, ketika ditemukan bahwa itu berisi S:, itu adalah cookie yang ditandatangani, dan kemudian ditandatangani dengan tanda tangan. Lain kali, mari kita lihat sesi.
Di atas adalah seluruh konten node.js cookie-parser parser.js. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.