Ich habe das Wiki für Cookies gelesen und sie sagten, dass es benötigt wird, um Stateful Informationen wie Artikel im Warenkorb etc. zu behalten. Aber warum müssen Sie es tun? Warum speichern Sie den Status nicht einfach in der Datenbanktabelle?Warum brauchen Sie Cookies, um stateful Informationen zu behalten?
Antwort
Sie können den Status in der db speichern, aber Sie müssen wissen, wer der Eigentümer dieses Bundesstaates ist. Daher müssen Sie den Client zwischen den Anforderungen identifizieren.
Denken Sie an die Cookies wie eine Anrufer-ID für den Browser. Das ist ihre hauptsächliche Verwendung. Wenn Sie meinen Webserver zum ersten Mal mit Ihrem Browser aufrufen, sage ich: "Hey, lassen Sie mich diese Anrufer-ID irgendwo in Ihrem Browser einstellen". Wenn Sie also das nächste Mal anrufen, lese ich es einfach und dann weiß ich, dass Sie es wieder sind . Sobald ich weiß, dass Sie es sind, kann ich in meiner Datenbank nach weiteren Informationen suchen, z. B. nach Ihren Einkaufswagen-Artikeln.
Auch die Anrufer-ID, die ich eingestellt habe, kann nicht von anderen Websites gelesen oder geändert werden, wenn sie Sie identifizieren möchten, müssen sie ihre eigenen einstellen.
Cookies sind nützlich, um Informationen auf der Clientseite zu bewahren.
Zum Beispiel, in dem Beispiel geben Sie, mit einem Cookie können Sie den Warenkorb von jemandem speichern, der noch nicht eingeloggt oder registriert ist.
Wenn Sie eine Datenbank verwenden, um solche Daten abzurufen, benötigen Sie eine zuverlässige Möglichkeit, den aktuellen Besucher zu identifizieren, und Sie haben wahrscheinlich nicht viele Optionen, abgesehen von der Frage nach einem Login. Im Allgemeinen möchten Sie Cookies, die das Leben Ihres Besuchers erleichtern würden, aber das ist nicht unbedingt zu bewahren (Cookies verfallen, sie können geleert werden, und der Besucher könnte einen anderen Browser verwenden) etc).