Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Funktionen Cookie, Sitzung und Speicherung

Zusammenfassung der Funktionen Cookie, Sitzung und Speicherung

一个新手
一个新手Original
2017-09-18 10:21:391356Durchsuche


1. Cookie

1. Cookie: zeichnet die Interaktionsinformationen zwischen dem Client und dem Server auf.
Die Cookie-Spezifikation definiert das Format, die Lebensdauer, den Nutzungsumfang und die Sicherheit interaktiver Informationen zwischen dem Server und dem Client.
Diese Informationen können über document.cookie in JavaScript gelesen oder festgelegt werden. Da Cookies hauptsächlich für die Kommunikation zwischen Client und Server verwendet werden, können neben JavaScript auch serverseitige Sprachen (wie PHP) auf Cookies zugreifen.

2. Cookie ist ein Mechanismus, um Daten im Remote-Browser zu speichern und zur Verfolgung und Identifizierung von Benutzern zu verwenden. Aus Sicht der Implementierung ist ein Cookie ein kleines Datenelement, das auf dem Client gespeichert wird. Der Browser (dh der Client) interagiert mit dem Server über das HTTP-Protokoll. Cookies haben eine Größenbeschränkung und die in jedem Cookie gespeicherten Daten dürfen 4 KB nicht überschreiten. Wenn die Länge des Cookie-Strings 4 KB überschreitet, gibt dieses Attribut einen leeren String zurück.

3. Cookies werden vom Browser implementiert und verwaltet.

4. Zu den Attributen des Cookies selbst gehören „Kommentar“, „Domäne“, „Maximales Alter“, „Pfad“, „Sicher“ und „Version“. Betriebs-Cookie. Das Attribut

Kommentar ist die Beschreibung des vom Cookie generierten Cookies; das Attribut

Domäne definiert den Domänennamen, der auf das Cookie zugreifen kann, z einige große Wenn Sie möchten, dass Cookies von Unterseiten gemeinsam genutzt werden, können Sie dieses Attribut verwenden. Wenn die Domäne beispielsweise auf .bigsite.com eingestellt ist, können sowohl sub1.bigsite.com als auch sub2.bigsite.com auf die auf dem Client gespeicherten Cookies zugreifen. In diesem Fall muss der Pfad auf / festgelegt werden.

Max-Age Das Attribut definiert die Gültigkeitsdauer des Cookies, gezählt in Sekunden. Wenn die Gültigkeitsdauer abläuft, werden die Cookie-Informationen nicht an den HTTP-Nachrichtenheader vom Client angehängt und an den Server gesendet. Das Attribut

Pfad definiert den Pfad der Seite auf der Website, auf die das Cookie zugegriffen werden kann unter diesem Pfad und seinen Unterpfaden verwendet werden; Pfad kann auf / gesetzt werden, sodass auf das Cookie von allen Seiten unter der Website zugegriffen werden kann.

Sicher Der Attributwert definiert die Sicherheit des Cookies. Wenn der Wert wahr ist, muss es sich im HTTPS-Status befinden, bevor das Cookie an die HTTP-Nachricht vom Client angehängt und gesendet wird Wenn HTTP-Cookies nicht gesendet werden, können Cookies standardmäßig im HTTP-Status „false“ übergeben werden. Das Attribut

Version definiert die Version des Cookies, wie vom Ersteller des Cookies definiert.

5. Verwendung von Cookies:
Der Server erstellt die aufzuzeichnenden Informationen und übergibt sie dann an den Client. Der Client entnimmt die Informationen der HTTP-Nachricht und speichert sie auf der lokalen Festplatte. Wenn der Client erneut auf den Server zugreift, liest er die ursprünglich gespeicherten Informationen von der lokalen Festplatte, hängt sie an die HTTP-Nachricht an und sendet sie an den Server. Der Server liest die Informationen aus der HTTP-Nachricht und führt die weitere Verarbeitung entsprechend den Anforderungen durch die eigentliche Anwendung.

6. Da Cookie-Informationen im Klartext in Textdateien gespeichert werden, ist es am besten, verschlüsselte Form zu verwenden, wenn einige sensible Informationen wie Passwörter und Bankkontonummern in lokalen Cookie-Dateien gespeichert werden sollen.

2. Detaillierte Erklärung der Sitzung

1. Sitzung ist Antwort, was sich auf eine kontinuierliche, bidirektionale Verbindung bezieht. Es gibt im Wesentlichen keinen Unterschied zwischen Sitzung und Cookie. Beide Mechanismen werden vorgeschlagen, um den Sitzungsverbindungsstatus zwischen dem Client und dem Server als Reaktion auf die Einschränkungen des HTTP-Protokolls aufrechtzuerhalten. Session ist ebenfalls ein allgemeiner Standard, wird jedoch in verschiedenen Sprachen unterschiedlich implementiert. Bei Web-Websites bezieht sich „Sitzung“ auf die Sitzung vom Betreten der Website durch einen Benutzer bis zum Schließen des Browsers beim Durchsuchen einer Website. Sitzung ist eigentlich ein spezifisches Zeitkonzept.
2. Session bestimmt den Client-Benutzer anhand der Sitzungs-ID, die der Dateiname der Sitzungsdatei ist. Die Sitzungs-ID wird tatsächlich über HTTP-Anfrage und HTTP-Antwort zwischen dem Client und dem Server weitergegeben. Die Sitzungs-ID wird nach einem bestimmten Algorithmus generiert und muss in die HTTP-Anfrage aufgenommen werden, um Eindeutigkeit und Zufälligkeit zu gewährleisten und so die Sitzungssicherheit zu gewährleisten. Wenn der Sitzungsgenerierungszyklus nicht festgelegt ist, wird die Sitzungs-ID im Speicher gespeichert und nach dem Schließen des Browsers automatisch abgemeldet, und eine Sitzungs-ID wird erneut registriert. Wenn der Client Cookies nicht deaktiviert, übernimmt das Cookie beim Starten der Sitzung die Aufgabe, die Sitzungs-ID und die Sitzungsdauer zu speichern. Nachdem die Sitzung abgelaufen ist, wird sie von PHP recycelt.

3. Der Unterschied zwischen Sitzung und Cookie:

1. Die Sitzung befindet sich auf der Serverseite und das Cookie befindet sich auf der Clientseite (Browser).
Die Sitzung befindet sich in einer Datei auf dem Server (Standard), nicht Speicher
3. Der Vorgang der Sitzung hängt von der Sitzungs-ID ab und die Sitzungs-ID wird im Cookie gespeichert. Das heißt, wenn der Browser Cookies deaktiviert, wird die Sitzung ebenfalls ungültig (natürlich kann dies der Fall sein). kann auch in der URL übergeben werden)
4. Die Sitzung kann in einer Datei, Datenbank oder im Speicher abgelegt werden.
5. Die Sitzung wird im Allgemeinen zur Benutzerüberprüfung verwendet. Daher ist die eindeutige Kennung des Clients, d. h. die Sitzungs-ID, der Grund dafür eine gewisse Belastung für die Serverdienstleistung. Die von Cookies gespeicherten Daten sind begrenzt
7. Die Sitzung speichert Objekte und das Cookie speichert Schlüssel-Wert-Paare vom Typ String.

Erklärung: Da es sich beim HTTP-Protokoll um ein zustandsloses Protokoll handelt, muss der Server einen Mechanismus verwenden, um den spezifischen Benutzer zu identifizieren, wenn er ihn aufzeichnen muss. In einem typischen Szenario wie einem Warenkorb ist beim Klicken auf die Schaltfläche „Bestellen“ das HTTP-Protokoll zustandslos und es ist nicht bekannt, welcher Benutzer es bedient hat. Daher muss der Server eine bestimmte Sitzung für den bestimmten Benutzer erstellen, um dies zu identifizieren Benutzer und verfolgen Sie Benutzer, damit sie wissen, wie viele Bücher sich im Warenkorb befinden. Diese Sitzung wird serverseitig gespeichert und verfügt über eine eindeutige Kennung.
Es gibt viele Möglichkeiten, Sitzungen auf der Serverseite zu speichern, einschließlich Speicher, Datenbank und Dateien. Sitzungsübertragung sollte auch beim Clustering berücksichtigt werden. In großen Websites gibt es normalerweise einen dedizierten Sitzungsserver-Cluster, um Benutzersitzungen zu speichern, und einige Caching-Dienste wie Memcached werden verwendet so, um die Sitzung zu platzieren. Denken Sie darüber nach
Wie identifiziert der Server einen bestimmten Kunden? Zu diesem Zeitpunkt erscheint Cookie. Bei jeder HTTP-Anfrage sendet der Client entsprechende Cookie-Informationen an den Server. Tatsächlich verwenden die meisten Anwendungen Cookies, um die Sitzungsverfolgung zu implementieren. Wenn eine Sitzung zum ersten Mal erstellt wird, teilt der Server dem Client im HTTP-Protokoll mit, dass eine Sitzungs-ID im Cookie aufgezeichnet werden muss Anschließend wird die Sitzungs-ID an den Server gesendet und ich weiß, wer Sie sind. Jemand fragte: Was soll ich tun, wenn der Browser des Clients Cookies deaktiviert? Im Allgemeinen wird in diesem Fall eine Technologie namens URL-Rewriting zur Sitzungsverfolgung verwendet. Das heißt, für jede HTTP-Interaktion wird ein Parameter wie „sid=xxxxx“ an die URL angehängt und der Server identifiziert den Benutzer entsprechend. Cookies können tatsächlich in einigen benutzerfreundlichen Szenarien verwendet werden. Stellen Sie sich vor, Sie haben sich einmal auf einer Website angemeldet und möchten Ihr Konto beim nächsten Anmelden nicht erneut eingeben. Diese Informationen können in das Cookie geschrieben werden. Beim Besuch der Website kann das Skript der Website diese Informationen lesen und den Benutzernamen automatisch für Sie ausfüllen, was dem Benutzer die Arbeit erleichtern kann. Dies ist auch der Ursprung des Cookie-Namens, ein wenig süß für die Benutzer. Zusammenfassend lässt sich sagen: Sitzung ist eine auf dem Server gespeicherte Datenstruktur, um den Status des Benutzers zu verfolgen. Diese Daten können in Clustern, Datenbanken und Dateien gespeichert werden. Cookie ist ein Mechanismus, mit dem der Client Benutzerinformationen speichert und zum Aufzeichnen verwendet wird Benutzerinformationen sind auch eine Möglichkeit, eine Sitzung zu implementieren.

4. Web Storage

Web Storage ist eine neue Methode zum Speichern von Daten auf dem Client. Es gibt zwei Arten: localStorage und sessionStorage. Damit können Sie Daten auf dem Client speichern. Eine Datenbank wird lokal auf der Clientseite erstellt, und der ursprünglich in der serverseitigen Datenbank gespeicherte Inhalt kann direkt lokal auf der Clientseite gespeichert werden, was die Belastung des Servers erheblich reduziert Seite und beschleunigt den Datenzugriff.

1. localStorage: Daten werden dauerhaft gespeichert. Speichern Sie die Daten auf dem lokalen Hardwaregerät des Clients (Festplatte oder anderes Hardwaregerät). Die Daten bleiben auch dann bestehen, wenn der Browser geschlossen wird. Der Umfang von localStorage ist auf die Dokumentquellenebene beschränkt. Verschiedene Dokumentquellen können die Daten anderer nicht lesen und ändern, dieselbe Dokumentquelle jedoch. Allerdings teilen sich verschiedene Browser den Speicher nicht, was bedeutet, dass auf die Daten, die Sie im Chrome-Browser speichern, in Firefox nicht zugegriffen werden kann, selbst wenn es sich um dieselbe Dokumentquelle handelt.
2. sessionStorage: temporäre Speicherung von Daten. Daten werden in Sitzungsobjekten gespeichert. Die Speicherzeit ist die Zeit vom Aufrufen der Webseite bis zum Schließen der Browser-Webseite. Der Umfang von sessionStorage ist auch auf die Dokumentquellenebene beschränkt. Darüber hinaus ist er auf Registerkarten beschränkt. Dieselbe Seite verfügt in verschiedenen Registerkarten über einen eigenen sessionStorage, und Daten können nicht gemeinsam genutzt werden. Wenn eine Seite zwei Iframe-Elemente enthält, teilen sie sich sessionStorage.

Das obige ist der detaillierte Inhalt vonZusammenfassung der Funktionen Cookie, Sitzung und Speicherung. 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