Sobes.tech
Junior

Εξήγησε τη διαφορά μεταξύ cookies, sessionStorage και localStorage.

sobes.tech AI

Απάντηση από AI

Τα cookies αποθηκεύουν μικρές ποσότητες κειμενικών πληροφοριών (έως 4 KB) στην πλευρά του πελάτη, αποστέλλονται με κάθε αίτημα HTTP στον τομέα που τα έχει ορίσει. Μπορούν να έχουν ημερομηνία λήξης. Χρησιμοποιούνται για αυθεντικοποίηση, παρακολούθηση χρηστών, αποθήκευση προτιμήσεων χρήστη.

Το localStorage αποθηκεύει δεδομένα χωρίς ημερομηνία λήξης (μέχρι ο χρήστης να διαγράψει την αποθήκευση ή να κλείσει το πρόγραμμα περιήγησης) στην πλευρά του πελάτη (έως 5-10MB, ανάλογα με το πρόγραμμα περιήγησης). Τα δεδομένα είναι διαθέσιμα μεταξύ συνεδριών του προγράμματος περιήγησης, αλλά μόνο για σενάρια της ίδιας προέλευσης (τομέας, πρωτόκολλο, θύρα). Δεν αποστέλλονται αυτόματα με αιτήματα HTTP. Χρησιμοποιούνται για μακροπρόθεσμη αποθήκευση και ρυθμίσεις εφαρμογής.

Το sessionStorage αποθηκεύει δεδομένα κατά τη διάρκεια μιας συνεδρίας προγράμματος περιήγησης (όσο είναι ανοιχτή η καρτέλα ή το παράθυρο). Τα δεδομένα διαγράφονται κατά το κλείσιμο της καρτέλας ή του παραθύρου. Η χωρητικότητα αποθήκευσης είναι παρόμοια με το localStorage (έως 5-10MB). Τα δεδομένα είναι διαθέσιμα μόνο για σενάρια της ίδιας προέλευσης. Δεν αποστέλλονται αυτόματα με αιτήματα HTTP. Χρησιμοποιούνται για προσωρινή αποθήκευση δεδομένων που σχετίζονται με την τρέχουσα συνεδρία.

Χαρακτηριστικό Cookies localStorage sessionStorage
Χρόνος αποθήκευσης Ημερομηνία λήξης ή κλείσιμο προγράμματος περιήγησης Μέχρι να διαγραφεί από τον χρήστη/εφαρμογή Μέχρι να κλείσει η καρτέλα/παράθυρο
Μέγεθος δεδομένων Έως 4 KB Έως 5-10MB Έως 5-10MB
Διαθεσιμότητα Αποστέλλονται με αιτήματα HTTP στον τομέα Μόνο μέσω JavaScript της ίδιας προέλευσης Μόνο μέσω JavaScript της ίδιας προέλευσης
Διαθεσιμότητα μεταξύ καρτελών Ναι Ναι Όχι (για διαφορετικές καρτέλες)
Σκοπός Αυθεντικοποίηση, παρακολούθηση, προτιμήσεις Μακροπρόθεσμη αποθήκευση, ρυθμίσεις Προσωρινή αποθήκευση κατά τη διάρκεια της συνεδρίας

Παράδειγμα χρήσης του localStorage:

// Αποθήκευση δεδομένων
localStorage.setItem('userName', 'Alice');

// Ανάκτηση δεδομένων
const userName = localStorage.getItem('userName');
console.log(userName); // Έξοδος: Alice

// Διαγραφή δεδομένων
// localStorage.removeItem('userName');

// Εκκαθάριση όλης της αποθήκευσης
// localStorage.clear();

Παράδειγμα χρήσης του sessionStorage:

// Αποθήκευση δεδομένων
sessionStorage.setItem('orderId', '12345');

// Ανάκτηση δεδομένων
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Έξοδος: 12345

// Διαγραφή δεδομένων
// sessionStorage.removeItem('orderId');

// Εκκαθάριση όλης της αποθήκευσης
// sessionStorage.clear();