Lewati ke konten utama
menjadi.dev
Dasar Web

Session

Periode interaksi antara user dan aplikasi yang diidentifikasi oleh session ID.

Session adalah mekanisme untuk menyimpan state user selama berinteraksi dengan aplikasi. HTTP bersifat stateless — setiap request tidak tahu apa-apa tentang request sebelumnya. Session mengatasi ini dengan memberi user session ID (biasanya di cookie) yang mereferensi data tersimpan di server (memory, Redis, atau database). Data session bisa berisi: user ID, role, cart contents, form progress. Session berakhir saat user logout atau setelah periode inactive tertentu (session timeout). Stateless alternative: JWT token yang menyimpan semua data di token itu sendiri — tidak perlu storage server.

Contoh Kode

// Session dengan Hono
import { sessionMiddleware } from 'hono-sessions';

app.use(sessionMiddleware({
  store: new RedisStore(redis),
  encryptionKey: process.env.SESSION_SECRET,
  expireAfterSeconds: 3600, // 1 jam
}));

app.post('/login', async (c) => {
  const session = c.get('session');
  session.set('userId', user.id);
  session.set('role', user.role);
});

Istilah Terkait