Ich habe gerade eine Abschlussprüfung für Webanwendungen abgeschlossen. Eine eher einfache (wenn auch langwierige - 12 Seiten) Prüfung abzubrechen war eine Frage, die uns aufforderte, eine Implementierung von Sitzungen zu programmieren, ähnlich wie bei javax.http.HttpSession.Wie ist HttpSession implementiert?
Ich hasse es zuzugeben, es stocherte mich. Ich habe eine BS-Implementation mit einer HashMap gemacht und etwas Verrücktheit mit einer zufälligen Cookie-Folge gemacht, die auf eine serialisierte HashMap auf dem Server verweist, aber ich bin mir ziemlich sicher, dass es falsch ist ... und jetzt möchte ich wissen, wie es wirklich ist erledigt.
Besonders als jemand, der PHP ausgiebig verwendet hat, aber aus welchem Grund auch immer nie die Magie hinter der Bequemlichkeit gelernt hat, bin ich sehr daran interessiert, mehr über die zugrunde liegenden Implementierungen von Sitzungen zu erfahren. J2EE und PHP sind sicher, aber auch andere Sprachen/Frameworks sind großartig. Vielen Dank!
+1, sehr kurze Zusammenfassung. In PHP können Sie auch sehr einfach eigene Session Control Handler implementieren, falls Sie eine Datenbank oder eine andere Quelle für Ihre Sitzungsdaten verwenden möchten. Im Wesentlichen ist eine Sitzung nur eine einzigartige Menge von Daten mit einigen Methoden, um mit ihr zu interagieren (speichern, aktualisieren, löschen), und die Daten sind mit einem Benutzer über ein kleines identifizierbares Token verbunden, d. ein Cookie oder ein GET-Parameter. – zombat
Es ist wahrscheinlich wert, dass die Namen der Cookies JSESSIONID bzw. PHPSESSIONID genannt werden. Sie müssen auch nicht unbedingt Cookies sein. Sie können Teil der URL sein wie: jsessionid = oder phsphesessionid = . –
Eine gute Möglichkeit, die HTTP-Seite von Sitzungen zu verstehen, ist etwas wie HTTP-Header: https://addons.mozilla.org/en-US/firefox/addon/3829 –