Sobes.tech
Middle

Web uygulamalarında oturum mekanizması nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Web uygulamalarında oturumların çalışma mekanizması, durumu korumadan (stateless) doğası gereği, kullanıcıyı istekler arasında tanımlamaya dayanır.

İşlem genellikle şu şekilde gerçekleşir:

  1. Kullanıcının ilk isteği: İstemci (tarayıcı) sunucuya bir istek gönderir.
  2. Oturum oluşturma: Sunucu isteği alır ve bu istemciden gelen ilk istek veya oturum henüz oluşturulmamışsa, benzersiz bir oturum kimliği (Session ID) oluşturur.
  3. Oturum verilerinin saklanması: Sunucu, bu Session ID ile ilişkili verileri saklar. Bunlar kullanıcı bilgileri (giriş, rol), alışveriş sepeti durumu, ayarlar vb. olabilir. Saklama, sunucunun kendisinde (bellek, dosyalar) veya ayrı bir depolama alanında (veritabanı, Redis) yapılabilir.
  4. Session ID'nin istemciye iletilmesi: Sunucu, yanıtında Session ID'yi içeren bir yanıt gönderir. En yaygın iletim yöntemleri:
    • Cookie: Sunucu, kullanıcının tarayıcısına Session ID içeren bir cookie ayarlar. Tarayıcı, bu cookie'yi otomatik olarak sonraki tüm isteklerde aynı alan adına gönderir.
    • URL: Session ID, URL parametrelerine dahil edilir (daha az güvenli ve önerilen olmayan yöntem).
    • Gizli form alanları: Session ID, HTML formundaki gizli alan <input type="hidden"> içine yerleştirilir (form gönderiminde kullanılır).
  5. Sonraki istekler: İstemci, bir sonraki istekte Session ID'yi içerir (örneğin, cookie'den).
  6. Kullanıcı tanımlaması: Sunucu, isteği alır, Session ID'yi çıkarır ve karşılık gelen oturum verilerini bulmak için kullanır. Böylece, sunucu "kullanıcıyı" ve önceki durumunu tanır.
  7. Oturum verilerinin güncellenmesi: Kullanıcı uygulama ile etkileşime devam ederken, sunucu oturum depolama alanında verileri değiştirebilir veya ekleyebilir, mevcut Session ID ile ilişkili.
  8. Oturumun sona erdirilmesi: Oturum, açıkça sona erdirilebilir (örneğin, kullanıcı çıkış yaparken) veya belirli bir süre etkinlik olmadan otomatik olarak sona erebilir (oturum zaman aşımı). Sona erdiğinde, Session ID ile ilişkili veriler sunucudan silinir.

Ana bileşenler:

  • Session ID: Benzersiz oturum tanımlayıcı.
  • Sunucu oturum depolama: Session ID ile ilişkili verilerin saklandığı yer.
  • Session ID'nin istemciye iletim mekanizması: Genellikle Cookie.

Bu mekanizma, web uygulamalarının, HTTP protokolünün durumsuz doğasına rağmen, kullanıcıyla etkileşim bağlamını, kullanıcının siteyle çalışma süresi boyunca korumasını sağlar.