Cookies vs Sessions
Το HTTP είναι χωρίς κατάσταση, πράγμα που σημαίνει ότι όλα τα δεδομένα που είναι αποθηκευμένα καταστρέφονται όταν ο πελάτης λάβει τη σελίδα από τον διακομιστή και η σύνδεση κλείσει. Τα cookies και οι συνεδρίες είναι δύο λύσεις για αυτό το πρόβλημα. Το cookie είναι ένα πολύ μικρό κομμάτι πληροφοριών που αποθηκεύεται στο μηχάνημα του πελάτη από τον ιστότοπο και αποστέλλεται πίσω στον διακομιστή κάθε φορά που ζητείται μια σελίδα. Η περίοδος λειτουργίας είναι ένας τρόπος αποθήκευσης πληροφοριών στον διακομιστή σε αντίθεση με τον υπολογιστή του πελάτη.
Τι είναι τα cookies;
Το Netscape εισήγαγε την έννοια των cookies με το πρόγραμμα περιήγησής του Netscape Navigator. Το cookie είναι ένα πολύ μικρό κομμάτι πληροφοριών που αποθηκεύεται στο μηχάνημα του πελάτη από τον ιστότοπο και αποστέλλεται πίσω στον διακομιστή κάθε φορά που ζητείται μια σελίδα. Επειδή τα cookies αποστέλλονται πίσω κάθε φορά, πρέπει να αποθηκευτεί ένας ελάχιστος όγκος δεδομένων προκειμένου να εξοικονομηθεί εύρος ζώνης. Ένας ιστότοπος διαβάζει μόνο το cookie που έχει γράψει, παρέχοντας έτσι ένα ασφαλές μέσο αποθήκευσης πληροφοριών σε διαφορετικές σελίδες. Ωστόσο, τα cookies δεν έλαβαν καλή ονομασία αρχικά, λόγω φημών ότι τα cookies μπορούσαν να διαβάσουν όλες τις πληροφορίες στον σκληρό δίσκο. Φυσικά, αυτή η λανθασμένη αντίληψη εξαφανίστηκε καθώς οι άνθρωποι συνειδητοποίησαν ότι τα μπισκότα είναι στην πραγματικότητα αβλαβή και τώρα είναι ιδιαίτερα αποδεκτά. Τα cookies έχουν μια συγκεκριμένη διάρκεια ζωής που ορίζεται από τους δημιουργούς τους. Στο τέλος αυτού, ένα cookie καθίσταται ληγμένο. Τα cookies συχνά παρακολουθούν πληροφορίες όπως πόσο συχνά επισκέπτεται ο χρήστης, ποιες είναι οι ώρες των επισκέψεων, σε ποια banner έχουν πατηθεί, προτιμήσεις χρήστη κ.λπ. Τα cookies χρησιμοποιούνται συνήθως για την αποθήκευση πληροφοριών που χρειάζονται για μικρότερες περιόδους. Εάν πρέπει να αποθηκευτούν πληροφορίες όπως οι διευθύνσεις email (οι οποίες πρέπει να διατηρούνται για μεγαλύτερα χρονικά διαστήματα), ο προγραμματιστής πρέπει να χρησιμοποιήσει μια βάση δεδομένων αντί για cookies. Ωστόσο, εάν οι προσωπικές πληροφορίες αποθηκεύονται σε cookie, πρέπει να χρησιμοποιηθεί κρυπτογράφηση για τη βελτίωση της ασφάλειας.
Τι είναι οι συνεδρίες;
Η συνεδρία είναι ένα άλλο μέσο αποθήκευσης πληροφοριών σε όλες τις σελίδες. Αλλά αυτό γίνεται στην πλευρά του διακομιστή. Το Session χρησιμοποιεί στην πραγματικότητα ένα cookie από την πλευρά του διακομιστή και ένα cookie από την πλευρά του πελάτη για την αποθήκευση δεδομένων. Αλλά το cookie από την πλευρά του πελάτη αποθηκεύει μόνο μια αναφορά στα αντίστοιχα δεδομένα που είναι αποθηκευμένα στον διακομιστή. Όταν ο χρήστης επισκέπτεται τον ιστότοπο, το cookie από την πλευρά του πελάτη (με αριθμό αναφοράς) αποστέλλεται στον διακομιστή και ο διακομιστής χρησιμοποιεί αυτόν τον αριθμό για να φορτώσει τα δεδομένα του χρήστη. Το cookie από την πλευρά του διακομιστή μπορεί να αποθηκεύσει μεγάλες ποσότητες δεδομένων. Δεδομένου ότι το cookie από την πλευρά του πελάτη αποθηκεύει μόνο τον αριθμό αναφοράς, το εύρος ζώνης εξοικονομείται πάρα πολύ. Δεδομένου ότι τα δεδομένα περιόδου σύνδεσης αποθηκεύονται στον διακομιστή, είναι πολύ πιο προστατευμένα.
Ποια είναι η διαφορά μεταξύ των cookie και των περιόδων σύνδεσης;
Αν και τα cookie και οι περίοδοι σύνδεσης είναι δύο τρόποι αποθήκευσης πληροφοριών σε ιστοσελίδες, έχουν τις διαφορές τους. Τα cookies αποθηκεύουν μόνο cookies από την πλευρά του πελάτη, ενώ οι περίοδοι λειτουργίας χρησιμοποιούν cookies τόσο από την πλευρά του πελάτη όσο και από την πλευρά του διακομιστή. Οι περίοδοι λειτουργίας μπορούν να αποθηκεύουν μεγάλες ποσότητες δεδομένων σε σύγκριση με τα cookies. Επειδή οι περίοδοι λειτουργίας αποθηκεύουν μόνο τον αριθμό αναφοράς στο μηχάνημα του πελάτη, η χρήση εύρους ζώνης είναι χαμηλότερη σε σύγκριση με τη χρήση cookie. Τα δεδομένα περιόδου σύνδεσης είναι σχετικά πιο ασφαλή, επειδή ο χρήστης μπορεί να χειριστεί τα cookie.