Heim >Backend-Entwicklung >PHP-Tutorial >Was ist der Zusammenhang und Unterschied zwischen Cookies und Sitzungen?
Das http-Protokoll ist zustandslos, aber viele Anwendungen erfordern, dass der Server den Status des Clients beherrscht, z. B. beim Online-Shopping. Zu diesem Zeitpunkt spielen Cookies und Sitzungen ihre Rolle
Der Unterschied zwischen Cookies und Sitzungen Der Kontaktmechanismus
Cookie übernimmt das Schema der Aufrechterhaltung des Zustands auf dem Client, während der Mechanismus Sitzung das Schema übernimmt Schema zur Aufrechterhaltung des Status auf der Der Server verwaltet den Status Lösung, aber die serverseitige Lösung zur Aufrechterhaltung des Status muss auch eine Kennung auf dem Client speichern, sodass der Sitzungsmechanismus möglicherweise den Cookie-Mechanismus verwenden muss, um dies zu erreichen Der Zweck besteht darin, die Kennung zu speichern, aber tatsächlich verfügt es über einen anderen Cookie-Mechanismus
Cookie-Technologie
2. Cookie-Headerzeile der HTTP-Anfragenachricht
3. Cookie-Datei, die auf dem Client-Host gespeichert und vom Browser verwaltet wird 4. Backend-Datenbank auf dem Webserver
Sitzungsmechanismus
In der WEB-Entwicklung kann der Server ein Sitzungsobjekt (Sitzungsobjekt) für den Browser jedes Benutzers erstellen ein Sitzungsobjekt (standardmäßig). Wenn Benutzerdaten gespeichert werden müssen, kann das Serverprogramm die Benutzerdaten daher in eine Sitzung schreiben, die ausschließlich für den Browser des Benutzers gilt. Wenn der Benutzer den Browser verwendet, um auf andere Programme zuzugreifen, können andere Programme die Daten des Benutzers aus der Sitzung des Benutzers abrufen. Benutzerdienste.
Sitzung ist ein serverseitiger Mechanismus. Der Server verwendet eine Struktur ähnlich einer Hash-Tabelle, um Informationen zu speichern. Wenn das Programm eine Sitzung für die Anfrage eines Clients erstellen muss, prüft der Server zunächst, ob die Anfrage des Clients vorliegt been Enthält eine Sitzungskennung (sessionid genannt). Wenn es enthalten ist, bedeutet dies, dass für diesen Client bereits eine Sitzung erstellt wurde. Der Server ruft diese Sitzung entsprechend der Sitzungs-ID ab und verwendet sie. Wenn sie nicht abgerufen werden kann, erstellt er eine neue eins. Wenn die Client-Anfrage keine Sitzungs-ID enthält, erstellen Sie eine Sitzung für den Client und generieren Sie eine dieser Sitzung zugeordnete Sitzungs-ID. Der Wert der Sitzungs-ID sollte eindeutig und unregelmäßig sein und kann nicht leicht gefälscht werden .string, diese Sitzungs-ID wird zur Speicherung in dieser Antwort an den Client zurückgegeben. Cookie kann verwendet werden, um diese Sitzungs-ID zu speichern, sodass der Browser während des Interaktionsprozesses diese ID gemäß den Regeln automatisch an den Server senden kann. Im Allgemeinen ähnelt der Name dieses Cookies SESSIONID, Cookies können jedoch künstlich deaktiviert werden. Daher müssen andere Mechanismen vorhanden sein, damit die Sitzungs-ID weiterhin an den Server gesendet werden kann, wenn Cookies deaktiviert sind Ein häufig verwendeter Name 1 Diese Technik wirdURL-Rewriting
genannt, bei der die Sitzungs-ID direkt an das Ende des URL-Pfads angehängt wird. Es gibt auch eine Technik namensAusgeblendete Felder bilden. Das heißt, der Server ändert das Formular automatisch und fügt ein verstecktes Feld hinzu, sodass die Sitzungs-ID beim Absenden des Formulars an den Server gesendet werden kann, z. B.:
Zusammenfassend: Der Unterschied lässt sich wie folgt zusammenfassen: Inhalt<form name="testform" action="/xxx"> <input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764"> <input type="text"> </form>
Cookie-Daten werden im Browser des Kunden gespeichert und Sitzungsdaten werden auf dem Server gespeichert
Die von einem einzelnen Cookie gespeicherten Daten dürfen 4 KB nicht überschreiten, und viele Browser beschränken eine Website auf das Speichern von bis zu 20 Cookies
http-Protokoll Es ist zustandslos, aber viele Anwendungen erfordern, dass der Server den Status des Clients erfasst, z. B. beim Online-Shopping. Zu diesem Zeitpunkt spielen Cookies und Sitzungen eine Rolle
Das obige ist der detaillierte Inhalt vonWas ist der Zusammenhang und Unterschied zwischen Cookies und Sitzungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!