Cookies, sessionStorage və localStorage arasındakı fərqi izah edin.
sobes.tech Süni İntellekt
AI-dan cavab
Cookies, sessionStorage və localStorage veb yaddaş mexanizmləridir və məqsəd, istifadə müddəti və saxlanılan məlumatların həcminə görə fərqlənirlər.
-
Cookies: Veb server tərəfindən göndərilən və istifadəçinin brauzerində saxlanılan kiçik məlumat parçalarıdır. Hər növbəti sorğuda eyni serverə göndərilir. Doğrulama, istifadəçi üstünlüklərinin saxlanması, alış-veriş səbətinin vəziyyətinin izlənməsi üçün istifadə olunur.
- Müddət: Yaradılarkən təyin edilir (sessiya və ya müəyyən bir bitmə tarixi ola bilər).
- Həcmi: Məhduddur, adətən bir neçə kilobayt (təxminən 4 KB).
-
sessionStorage: Yalnız bir brauzer sessiyası üçün məlumat saxlayır (açıq tab və ya pəncərə). Tab və ya pəncərə bağlandıqda məlumatlar silinir.
- Müddət: Brauzer tab və ya pəncərə bağlanana qədər.
- Həcmi: Cookies-dən çox daha böyükdür (adətən bir neçə megabayt).
-
localStorage: Bitmə tarixi olmadan məlumat saxlayır, istifadəçi və ya skript tərəfindən açıq şəkildə silinənə qədər. Eyni domen daxilində bütün tab və pəncərələrdə mövcuddur.
- Müddət: Daimi (açıq şəkildə silinənə qədər).
- Həcmi: Cookies-dən çox daha böyükdür (adətən bir neçə megabayt).
Qısa müqayisə:
| Mexanizm | Müddət | Mövcudluq | Serverə göndərilir | Həcmi (tipik) | Məqsəd |
|---|---|---|---|---|---|
| Cookies | Sessiya və ya bitmə tarixi | HTTP başlıqları vasitəsilə | Bəli | ~4 KB | Doğrulama, izləmə, üstünlüklər |
| sessionStorage | Tab və ya pəncərə bağlanana qədər | JS API vasitəsilə | Xeyr | ~5-10 MB | Müvəqqəti sessiya məlumatlarının saxlanması |
| localStorage | Daimi (silinənə qədər) | JS API vasitəsilə | Xeyr | ~5-10 MB | Uzunmüddətli məlumatların saxlanması |
JavaScript API ilə istifadə nümunələri:
// Cookies (document.cookie vasitəsilə əldə edilir, əl ilə parsinq və serializasiya tələb edir)
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";
// sessionStorage
sessionStorage.setItem('id', '123');
let userId = sessionStorage.getItem('id');
sessionStorage.removeItem('id');
// localStorage
localStorage.setItem('theme', 'dark');
let userTheme = localStorage.getItem('theme');
localStorage.removeItem('theme');
localStorage.clear(); // Bütün localStorage məlumatlarını silir