PHP 4.3

9.10.1 Unterschiede zwischen Cookies und Sessionvariablen

Der größte Unterschied zwischen Cookies und Sessions ist sicherlich der Speicherort. Während Cookies mit Hilfe des Browsers auf dem Rechner des Benutzers abgelegt werden, wird die Session-Datei auf dem Server angelegt. Dadurch ist eine Speicherung von Variablen in dieser Datei unabhängig davon, ob der Benutzer die Cookie-Funktion aktiviert hat oder nicht. Außerdem sind die Werte vor manipulierendem Zugriff geschützt.

Ein zweiter Vorteil von Sessionvariablen ist die Möglichkeit, auch komplexe Variablenstrukturen zu speichern, während in Cookies nur Zeichenketten gespeichert werden können. Der eben betriebene Aufwand, ein Array zur Speicherung zusammenzufassen und beim Lesen wieder zu zerlegen, fällt bei Sessions also weg. Darüber hinaus ist der Speicherplatz in einer Session-Datei nicht beschränkt. Wie viele Variablen Sie hier speichern, ist Ihre Sache. Man sollte allerdings immer bedenken, dass jeder Besucher Ihrer Seite seine eigene Session-Datei bekommt, so dass sich der benötigte Speicherplatz mit der Zahl der Seitenzugriffe vervielfacht.

Leider haben Sessions auch einen großen Nachteil gegenüber Cookies: Die Werte der Variablen werden tatsächlich nur so lange gespeichert, bis die Session beendet ist, also bis der Benutzer Ihre Seiten wieder verlässt. In Cookies können Sie mit Hilfe des Verfallsdatums angeben, dass eine Speicherung auch über das Schließen des Browserfensters hinaus stattfindet, was ein Wiedererkennen des Benutzers beim nächsten Betreten Ihrer Seiten möglich macht.

Aus diesen Eigenschaften von Cookies und Sessions ergeben sich unterschiedliche Einsatzgebiete. Cookies werden immer dann benutzt, wenn Sie Daten von einem Aufruf Ihrer Seiten zum nächsten weitergeben wollen, z.B. um einen Benutzer immer mit Namen anzusprechen. In Sessionvariablen speichern Sie Werte, die nur für die aktuelle Sitzung interessant sind, hier aber so wichtig sind, dass Sie sich nicht auf die Aktivierung der Cookie-Funktion durch den Benutzer verlassen wollen.

 

Kommentare (0)

Ihr Kommentar

Name