Τι είναι το session;

Είναι ένας τρόπος για να κάνουμε τα δεδομένα του χρήστη προσβάσιμα στις διάφορες σελίδες ενός ιστότοπου. Ένα session δημιουργεί ένα προσωρινό αρχείο στον server, όπου αποθηκεύονται δεδομένα όπως το όνομα χρήστη, ο κωδικός προϊόντος  κ.α. . Τα δεδομένα αυτά διατηρούνται σε μεταβλητές και είναι διαθέσιμα για όλες τις σελίδες του ιστότοπου. Επίσης το session παράγει έναν μοναδικό κωδικό που αποτελείται από μία τυχαία συμβολοσειρά 32 δεκαεξαδικών χαρακτήρων, ο οποίος χρησιμοποιείται για την ταυτοποίηση του χρήστη.

Τι είναι το cookie;

Παράλληλα με τη δημιουργία του session κατασκευάζεται και ένα επιπλέον αρχείο το cookie, το οποίο αποθηκεύεται στον υπολογιστή του χρήστη. Πρόκειται για ένα μικρό αρχείο κειμένου (με μέγεθος έως και 4KB) στο οποίο είναι αποθηκευμένα κάποια στοιχεία που σχετίζονται με τον χρήστη, όπως κάποιες προτιμήσεις που έχει επιλέξει για μια σελίδα, καθώς επίσης και ένας μοναδικός κωδικός που ονομάζεται Session-Id.

Πώς λειτουργούν;

Η κατανόηση της λειτουργίας και αλληλεπίδρασης μεταξύ των δυο λειτουργιών είναι πιο εύκολη μέσω ενός παραδείγματος. Ας υποθέσουμε ότι θέλουμε να εισέλθουμε σε μία σελίδα, για παράδειγμα στο Facebook, και ότι είναι η πρώτη φορά που επισκεπτόμαστε την σελίδα αυτή μέσω του συγκεκριμένου υπολογιστή.Από την στιγμή που θα κάνουμε σύνδεση στην σελίδα, δίνοντας όνομα χρήστη και κωδικό, ο server του Facebook θα δημιουργήσει και θα αποθηκεύσει ένα μοναδικό κωδικό (Session-Id). Ο κωδικός αυτός θα σταλεί επίσης στον υπολογιστή μας για αποθήκευση με τη μορφή ενός αρχείου cookie. Από δω και πέρα για όλα τα HTTP requests που κάνουμε στον server του Facebook θα αποστέλλεται μαζί και το cookie. Στην συνέχεια ο server συγκρίνει το Session-Id που έχει αποθηκεύσει με το Session-Id που έχει αποσταλεί από εμάς. Αν γίνει η ταυτοποίηση, δηλαδή και οι δυο κωδικοί είναι ίδιοι, τότε ο server μας επιτρέπει να επισκεφτούμε την σελίδα, αλλιώς μας κάνει ανακατεύθυνση στην σελίδα σύνδεσης του Facebook.

Διαφορές ανάμεσα σε session και cookie

SessionCookie
ΑποθήκευσηΣτον serverΣτον Η/Υ του χρήστη
ΜέγεθοςΔεν υπάρχει όριοΜέχρι 4KB
ΑσφάλειαΜεγάλη ασφάλεια,
είναι αρκετά δύσκολη
η πρόσβαση στις τιμές
του session
Ελάχιστη ασφάλεια,
αποστέλλεται συχνά
ΔιαθεσιμότηταΕίναι διαθέσιμο μέχρι
να κλείσουμε τον browser
Κρατάει τις πληροφορίες
μέχρι να το διαγράψει
ο χρήστης ή διαγράφεται
από μόνο του αν
έχει οριστεί “ημερομηνία λήξης”
ΧρήσηΠροσωπικά στοιχεία,
ευαίσθητα δεδομένα
Απλές πληροφορίες όπως
προτιμήσεις του χρήστη
ΠρόσβασηΚαμία πρόσβαση από τον χρήστη,
δεν υπάρχει δυνατότητα επεξεργασίας
ή προβολής των δεδομένων
Πρόσβαση στο αρχείο
και τροποποίησή του