Heim >Backend-Entwicklung >PHP-Tutorial >Was ist der Zusammenhang und Unterschied zwischen Cookies und Sitzungen?

Was ist der Zusammenhang und Unterschied zwischen Cookies und Sitzungen?

一个新手
一个新手Original
2017-09-09 13:40:114191Durchsuche

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
    Auf dem lokalen Endgerät des Benutzers gespeicherte Daten zur Sitzungsverfolgung (normalerweise verschlüsselt)

  • Cookie-Komponente
  • 1 Der Cookie-Header der HTTP-Antwortnachricht Zeile

    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


    Cookie-Prinzip

  • Was ist der Zusammenhang und Unterschied zwischen Cookies und Sitzungen?

    Die Cookie-Verteilung erfolgt durch Erweiterung des http-Protokolls. Der Server fügt dem HTTP-Antwortheader eine Reihe spezieller Anweisungen hinzu, um den Browser aufzufordern, das entsprechende Cookie zu generieren gemäß der Anleitung, aber es gibt eine Sache, auf die man achten sollte. Auch reine clientseitige Skripte wie Javascript oder VBScript können Cookies generieren, sodass potenzielle Sicherheitsrisiken bestehen.
Der Einsatz von Cookies wird vom Browser nach bestimmten Grundsätzen automatisch im Hintergrund an den Server gesendet. Der Browser überprüft alle Cookies. Wenn der deklarierte Umfang des Cookies größer ist als der Speicherort der anzufordernden Ressource, wird das Cookie an den HTTP-Header der angeforderten Ressource angehängt und an den Server gesendet

Der Inhalt Der Cookie umfasst hauptsächlich: Name, Wert, Ablaufzeit, Pfad und Domäne. Der Pfad und die Domäne bilden zusammen den Geltungsbereich des Cookies. Wenn die Ablaufzeit nicht festgelegt ist, bedeutet dies, dass der Lebenszyklus dieses Cookies während des Browsers liegt Wenn das Browserfenster geschlossen wird, verschwindet das Cookie. Diese Art von Cookies, deren Lebenszyklus eine Sitzung ist, werden als Sitzungscookies bezeichnet und werden im Allgemeinen nicht auf der Festplatte, sondern im Speicher gespeichert. Wenn eine Ablaufzeit festgelegt ist, speichert der Browser die Cookies auf der Festplatte. Nach dem Schließen und erneuten Öffnen des Browsers sind diese Cookies weiterhin gültig, bis die eingestellte Ablaufzeit überschritten ist Verschiedene Browserprozesse. Teilen

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 wird

URL-Rewriting

genannt, bei der die Sitzungs-ID direkt an das Ende des URL-Pfads angehängt wird. Es gibt auch eine Technik namens

Ausgeblendete 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
  • Cookies sind nicht sehr sicher. Sie können lokal gespeicherte Cookies analysieren und Cookie-Spoofing durchführen. Daher ist es besser, wichtige Informationen wie Anmeldeinformationen in der Sitzung zu speichern. Wenn andere Informationen gespeichert werden müssen, können diese gespeichert werden Cookie
  • Sitzung Es wird für einen bestimmten Zeitraum auf dem Server gespeichert. Wenn der Zugriff zunimmt, verbraucht es mehr Serverleistung
  • 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn