Jedes Mal, wenn der Browser eine Seite öffnet, zählt das als Aufbau einer neuen Sitzung?
Jedes Mal, wenn der Browser eine Seite öffnet, zählt das als Aufbau einer neuen Sitzung?
Die Sitzung behält bestimmte kontinuierliche Zugriffszustände bei. Sie öffnen zuerst http://www.xxx.com/1/ und dann http://www.xxx.com/2/ . Woher weiß ich auf der Serverseite, dass Sie dieselbe Person sind? IPv4 ist unzuverlässig. Wenn Sie mehrere Ebenen intransparenter Proxys verwenden, ist die Zuverlässigkeit noch geringer.
Aber dieses Bedürfnis, den Status aufrechtzuerhalten, ist ein dringendes Bedürfnis und kann im Allgemeinen gelöst werden. Wenn ja, habe ich herausgefunden, dass jede Anfrage mit einer ID, die eine eindeutige Identität angibt, erledigt wird. Wenn sie nicht beim ersten Mal mitgebracht wird, weisen Sie sie ihm einfach zu. In der spezifischen Implementierung wird sie normalerweise über ein Cookie an die URL weitergegeben oder angehängt. Normalerweise haben verschiedene Serverumgebungen feste Namen, wie z. B. PHP, das normalerweise als PHPSESSID bezeichnet wird, und Servlet, das normalerweise als jsessionid bezeichnet wird. usw. Sie können natürlich auch einen anderen Namen wählen, solange dieser den Zweck der Weitergabe einer „identifizierenden ID“ erfüllt.
Lassen Sie uns über die SITZUNG auf der Serverseite sprechen. Für SESSION entspricht der Server einer Schlüsselwertdatenbank. Diese Bibliothek kann ein Dateisystem oder eine andere relationale Datenbank oder Schlüsselwertdatenbank sein. Über die vom Browser gesendete SessionID werden die entsprechenden Sitzungsdaten abgerufen. Diese Daten werden allgemein als Sitzungsdaten bezeichnet.
Sie haben erwähnt: „Zählt jedes Mal, wenn ein Browser eine neue Sitzung öffnet?“ Das ist eine gute Frage. Eigentlich sollte sie in zwei Teilen besprochen werden . Einer ist die Sitzungs-ID, der andere ist der Lebenszyklus der Sitzungsdaten.
Lebenszyklus der Sitzungs-ID: Derzeit besteht die üblichere Methode zur Übergabe der Sitzungs-ID darin, sie über ein Cookie zu übergeben. Ein Cookie-Datensatz hat wahrscheinlich mehrere Attribute: Name, Wert, Pfad, Domänenname, Ablaufzeit usw., wie Sie sehen Das erwähnte „Seite öffnen“ sollte meiner Meinung nach in „Browser öffnen“ korrigiert werden. Diese Ablaufzeit wird normalerweise als Sitzungszeitraum bezeichnet. Das heißt, wenn der Browser geschlossen und erneut geöffnet wird, wird das ursprüngliche Cookie ungültig (d. h. es wird nicht mehr weitergegeben). Aber nicht jeder SessionID-Ablauf muss so sein. Sie können die Gültigkeitsdauer Ihres SessionID-Cookies festlegen und diese Zeit bei jedem Besuch verlängern, sodass der Benutzer auch dann fortfahren kann, wenn er den Browser schließt und erneut öffnet Sie löschen das Cookie nicht manuell und merken sich weiterhin Ihren Status.
Lebenszyklus der Sitzungsdaten: Auf der Serverseite können wir auch eine Ablaufzeit für die Sitzung festlegen. Wenn länger als 30 Minuten kein Lese- oder Schreibvorgang erfolgt, werden sie ungültig (d. h. gelöscht oder nicht zurückgegeben). ). Natürlich können unterschiedliche Serversoftwareumgebungen für diesen Zeitpunkt unterschiedliche Standardeinstellungen und Einstellungsmethoden haben.
Lassen Sie uns über das Anmelden sprechen.
Was hat die Benutzeranmeldung mit dieser Sitzung zu tun? Einfach ausgedrückt bedeutet das Anmelden, dass Sie Ihre Benutzeridentität in Ihren Sitzungsdaten aufzeichnen, wodurch die aktuelle Sitzungs-ID direkt mit dem Benutzer (ID) verknüpft wird. Wenn Sie möchten, kann Ihre Sitzungs-ID natürlich genau mit der Benutzer-ID identisch sein (vorzugsweise). Verschlüsselung oder Verschleierung).
Die Sitzung hängt nicht unbedingt mit dem Anmeldestatus zusammen. Wenn Sie beispielsweise eine E-Commerce-Website besuchen, können Sie die Produkte in Ihren Warenkorb legen, ohne sich anzumelden. Für die E-Commerce-Website kann er dies tun Produkte in Ihrem Warenkorb. Die Daten können in Session, Cookie, LocalStoreage oder SessionStoreage abgelegt werden. Der erste befindet sich auf der Serverseite, der zweite wird synchron zwischen dem Client und der Serverseite übertragen und die letzten beiden sind rein Client-seitig. Unabhängig von der Methode muss die E-Commerce-Website zu diesem Zeitpunkt lediglich wissen, dass ein temporärer Kunde ABCDEF (SessionID) diese Menge an Dingen übernommen hat. Wenn Sie zur Kasse gehen möchten, müssen Sie sich anmelden, um sich zu identifizieren Sie können an die bereits angegebene Adresse bezahlen und versenden. Wenn dieser E-Commerce-Händler das Gefühl hat, dass er in Zukunft nicht mehr viele Transaktionen mit Ihnen durchführen wird (einmaliger Verkauf) und nicht wissen möchte, wer Sie sind, und der Zahlungsvorgang sehr einfach ist (Scannen Sie den QR-Code) , er braucht Sie überhaupt nicht, um sich anzumelden.
Das offensichtlichste Beispiel ist, dass viele Werbeplattformen überall Codes einbetten, um Ihre Cookies zu verfolgen (tatsächlich zeichnen sie einen Teil Ihres Browserstatus und Browserverlaufs auf und analysieren sie), sodass sie wissen, welche Websites Sie besucht haben und was Ihnen gefällt. Inhalte können wir Ihnen zielgerichtete Werbung schalten. Um unnötigen Ärger zu vermeiden, möchte er jedoch nicht wissen, wer Sie sind (oder möchte nicht, dass Sie von seiner Existenz erfahren), sodass er Ihnen in diesem Fall das Anmeldedialogfeld nicht zeigen muss Auf seiner Plattform ist er „anonym“, er kann aber dennoch viel über Sie erfahren.
Da ich mich seit vielen Jahren im Bereich der Internetwerbung entwickle, haben andere jedes Mal große Angst, wenn ich ihnen das Beispiel der Werbung erkläre. Wie kann ich ein Cookie „setzen“, um meinen Browserverlauf zu „verfolgen“?
Das ist nicht der Fall.
Die Werbeplattform arbeitet mit der Content-Website zusammen und lässt die Content-Website einen kleinen Code einbetten. Dieser Code kann ein js- oder