HTTP nedir? HTTP, yani Hypertext Transfer Protocol, web tarayıcıları ile web sunucuları arasında veri alışverişini sağlayan internetin temel iletişim protokolüdür.
HTTP nasıl çalışır? Tarayıcı bir URL’ye istek gönderir. Sunucu bu isteği alır ve yanıt döner. Yanıtın içinde durum kodu (örneğin 200 OK veya 404 Not Found) ve içerik bulunur.
HTTP’nin özellikleri nelerdir?
HTTP stateless yani durumsuzdur. Sunucu önceki istekleri hatırlamaz, her istek bağımsızdır.
Metin tabanlıdır, yani istek ve yanıtlar okunabilir formatta iletilir.
Genişletilebilir bir yapıya sahiptir. HTTP/1.1, HTTP/2 ve HTTP/3 gibi sürümleri vardır.
Peki güvenlik açısından durum nedir? HTTP’de veriler şifrelenmeden iletilir, bu yüzden güvenli değildir. HTTPS ise HTTP’nin güvenli versiyonudur. TLS/SSL ile veriler şifrelenir ve üçüncü kişiler tarafından okunamaz.
HTTP ile HTTPS arasındaki farklara bakalım:
HTTP’de güvenlik yok, HTTPS’de şifreleme vardır.
HTTP basit sayfalarda kullanılır, HTTPS ise bankacılık, e-ticaret gibi güvenliğin önemli olduğu alanlarda.
Tarayıcıda HTTP
http://olarak görünür, HTTPS isehttps://ve yanında kilit simgesiyle.
Garson Örneği
HTTP’nin stateless olmasını bir örnekle açıklayalım: Bir restoranda garsondan sipariş verdiğinizi düşünün. Garson siparişi alır, mutfağa iletir ve yemek gelir. Ama garson sizin önceki siparişinizi hatırlamaz. Her sipariş bağımsızdır.
İşte HTTP de böyle çalışır. Sunucu, önceki isteği hatırlamaz. Peki kullanıcıya ait bilgileri nasıl hatırlatırız? İşte burada session devreye girer. Garsonun bir defteri olduğunu hayal edin. Siparişinizi deftere yazar, sonraki siparişte deftere bakarak sizin önceki siparişinizi hatırlar. Session da aynı şekilde çalışır: Kullanıcıya özel bilgileri saklar ve sonraki isteklerde hatırlatır.
Session Nedir?
Session, kullanıcı ile sunucu arasında geçici veri saklama yöntemidir. Kullanıcı siteyi ziyaret ettiğinde ona özel bir session kimliği (ID) oluşturulur. Bu kimlik ile kullanıcıya ait veriler sunucuda saklanır.
Session’ın kullanım amaçları:
Kullanıcı oturum bilgilerini tutmak (örneğin giriş bilgileri, alışveriş sepeti).
Kısa süreli işlemler için geçici veri saklamak (örneğin form bilgileri).
ASP.NET Core’da Session Kullanımı
ASP.NET Core’da session’u kullanmak için önce services.AddSession() ile servisi ekleriz, sonra app.UseSession() ile pipeline’a dahil ederiz. Ayrıca session süresini IdleTimeout ile ayarlayabiliriz.
Örnek:
builder.Services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(30);
options.Cookie.HttpOnly = true;
options.Cookie.IsEssential = true;
});
Session’a Veri Ekleme ve Alma
String veri:
HttpContext.Session.SetString("MyText", "Merhaba ASP.NET Core!");
var value = HttpContext.Session.GetString("MyText");
Int veri:
HttpContext.Session.SetInt32("MyNumber", 42);
int? value = HttpContext.Session.GetInt32("MyNumber");
Nesne veri (JSON ile):
var user = new UserInfo { Name = "Ahmet", Age = 25 };
HttpContext.Session.SetString("UserInfo", JsonSerializer.Serialize(user));
var jsonData = HttpContext.Session.GetString("UserInfo");
var userObj = JsonSerializer.Deserialize<UserInfo>(jsonData);
Örnek Senaryo
Bir e‑ticaret sitesinde kullanıcı sepete ürün ekledi. HTTP stateless olduğu için sunucu, sonraki istekte bu kullanıcının sepetinde ürün olduğunu hatırlamaz. İşte burada session devreye girer: Kullanıcının sepet bilgisi session’da saklanır ve sonraki isteklerde session ID üzerinden hatırlanır.
Hiç yorum yok:
Yorum Gönder