Express.js ile Session ve Cookie Yönetimi
Express.js ile Session ve Cookie Yönetimi
Web uygulamalarında kullanıcı deneyimini artırmak ve kullanıcıların bilgilerini geçici olarak saklamak adına session (oturum) ve cookie (çerez) yönetimi son derece önemlidir. JavaScript ile yazılmış olan Express.js, bu tür bilgileri yönetmek için kullanışlı bir altyapı sunar. Bu yazıda, Express.js’te session ve cookie yönetimini nasıl gerçekleştireceğimizi öğreneceğiz.
Session Yönetimi
Session, kullanıcıların web uygulamasıyla gerçekleştirdiği etkileşimler sırasında geçici olarak verilerin saklanması işlevini görür. Express.js üzerinde session yönetimi yapmak için genellikle express-session middleware’ini kullanıyoruz. Öncelikle bu paketi projemize dahil etmemiz gerekiyor. İşte temel bir konfigürasyon:
npm install express-session
Aşağıdaki örnekte basit bir Express.js uygulaması oluşturarak, session kullanımını gösteriyoruz:
const express = require('express');
const session = require('express-session');
const app = express();
app.use(session({
secret: 'gizliAnahtar', // Session için gizli anahtar
resave: false,
saveUninitialized: true,
}));
app.get('/', (req, res) => {
req.session.visits = (req.session.visits || 0) + 1; // Ziyaret sayısını güncelle
res.send(`Bu sayfayı ${req.session.visits} kez ziyaret ettiniz.`);
});
app.listen(3000, () => {
console.log('Uygulama 3000 portunda çalışıyor');
});
Cookie Yönetimi
Cookie, kullanıcının tarayıcısında saklanan veri parçalarıdır. Kullanıcı uygulamayı tekrar ziyaret ettiğinde, cookie bilgileri tarayıcıdan çekilerek kullanılabilir. Express.js ile cookie kullanmak için cookie-parser middleware’inin kurulumu gereklidir:
npm install cookie-parser
Aşağıdaki örnekte basit bir cookie oluşturma ve okuma işlemini gösteriyoruz:
const cookieParser = require('cookie-parser');
app.use(cookieParser());
app.get('/setcookie', (req, res) => {
res.cookie('kullanici', 'Ali', { maxAge: 900000, httpOnly: true }); // Cookie oluşturma
res.send('Cookie oluşturuldu.');
});
app.get('/getcookie', (req, res) => {
res.send(`Cookie Değeri: ${req.cookies.kullanici}`); // Cookie okuma
});
Sonuç
Express.js ile session ve cookie yönetimi, kullanıcı deneyimini geliştirmek ve web uygulamalarının kullanıcı etkileşimlerini izlemek açısından kritik öneme sahiptir. Bu makalede basit bir yapı ile nasıl kullanıcı bilgilerini saklayabileceğimizi ve kullanabileceğimizi öğrendik. Uygulamalarınızı bu yöntemlerle zenginleştirerek, kullanıcılarınız için daha etkileşimli bir deneyim sağlayabilirsiniz.

Yorum Gönder