COMPUTER ENGINEER

Örneklere git
Blog
Next.js / ASP.NET Core / SQL6 dk çalışma
04/ 41

Büyük resim

HTTP durumsuzdur: durumu nerede tutarız?

Sunucu seni bir önceki istekten hatırlamaz. Hatırlıyormuş gibi yapmanın yolları ve bedelleri.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

HTTP’de her istek kendi başınadır: sunucu, aynı kullanıcının bir saniye önce ne yaptığını protokol düzeyinde bilmez. Oturum açmış olmak, sepet veya dil tercihi gibi bilgiler bu yüzden her istekte bir şekilde yeniden taşınmalı ya da bir yerde saklanıp bir anahtarla bulunmalıdır.

Üç temel yol vardır. Çerezler: tarayıcı sunucunun verdiği küçük değerleri saklar ve her istekte otomatik gönderir. Token’lar: istemci bir kimlik belgesini (ör. JWT) Authorization başlığında taşır. Sunucu tarafı oturum: çerezde yalnız rastgele bir oturum kimliği durur, asıl veri sunucuda (bellek, Redis, veritabanı) tutulur.

Durumsuzluk ölçeklenmeyi kolaylaştırır: her istek bağımsız olduğu için yük dengeleyici onu herhangi bir sunucuya gönderebilir. Bunun koşulu, durumun tek bir sunucunun belleğinde kalmamasıdır. Bellekte oturum tutan bir uygulama ikinci sunucu eklendiğinde kullanıcıları rastgele ‘çıkış yapmış’ gösterir.

NERESİNDE KULLANIRSIN?

Oturum tasarımı, ölçeklenmeyi, güvenliği ve çıkış yapma davranışını belirler.

SIK YAPILAN HATA

Kullanıcı durumunu tek sunucunun belleğinde tutup sonra yatayda ölçeklemeye çalışmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

Temsili örnek
Set-Cookie: ataberk-theme=dark; Path=/; Max-Age=31536000

// sonraki her istekte:
Cookie: ataberk-theme=dark

Bu sitenin tema tercihi bir çerezle her isteğe taşınır.

Bu sayfa gerçek bir sunucuya veya veritabanına bağlanmaz. Kod örnekleri .NET 8, Next.js ve SQL Server için temsilîdir; süreler simülasyondaki örnek değerlerdir, ölçüm değildir. Örnekleri yalnız kendi geliştirme ortamında dene; gerçek bağlantı dizesi, token veya parola paylaşma.

02 / SIRA SENDE

Önce kendin dene.

Uygulamana ikinci bir sunucu ekledin ve kullanıcılar her birkaç tıklamada bir giriş ekranına düşüyor. İlk kontrol edeceğin şey nedir?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
Oturum veya kimlik doğrulama anahtarlarının sunucuya özel bellekte tutulup tutulmadığı:
- in-memory session
- sunucuya özgü Data Protection anahtarları

İstekler farklı sunuculara düştüğünde, durumu veya çerez şifreleme anahtarlarını paylaşmayan sunucu kullanıcıyı tanımaz.