Wie feststellen, ob ein Benutzer noch auf meiner Seite ist?



  • tomatensalat schrieb:

    Danke für den Link, aber die Antwort kann ich in dem Wikipedia-Artikel nicht finden. Du musst mir schon genau sagen in welchem Abschnitt das stehen soll.

    Nix Abschnitt - für das Verständnis müsstest du schon den ganzen Artikel lesen.

    tomatensalat schrieb:

    Was ich bisher noch nicht verstehe: Welche Gründe sprechen eigentlich gegen das Session-Objekt? Das Cookie Argument kann es nicht sein, dafür gibt es ja URL-Rewriting.

    Nun hör' endlich auf mit dem Unsinn (wo immer du ihn her hast)! Weder Session-Objekt noch Cookies liefern verbindliche Aussagen, ob ein User sich noch auf deiner Seite befindet.



  • Na also ich denke, dass ich sehr wohl den Ajax Artikel verstanden habe. Meine Webapp ist eine 100%ige Ajaxseite, ansonsten bin ich wohl komplett doof. Ich verstehe aber immer noch nicht in welchem Zusammenhang das mit meinem Problem steht. Wenn Du aber immer nur drei Wörter als Antwort schreibst kann ich leider auch nicht verstehen was Du meinst.

    Des weiteren kann man sehr wohl feststellen ob ein Nutzer die Seite noch nutzt. Ist die Session abgelaufen, dann kann man davon ausgehen, dass der Nutzer nicht mehr auf der Seite ist. Von daher ist Deine Aussage wohl falsch. Übrigens gilt die Aussage Session != Cookie !!! Lesen kannst Du ja ganz gut: http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpSession.html

    Außerdem habe ich auf Deiner HP gesehen, dass Du in Dienste in ASP anbietest. Dir ist schon klar, dass ich hier von Java/GWT/Tomcat rede?

    Du konntest mir bisher nicht plausibel erklären warum das Session-Objekt nicht verwendet werden soll. Außer Session = Böse kam bisher nix rüber.



  • Grundsätzliches zum Thema steht hier.

    Deine Frage war: Wie feststellen, ob ein Benutzer noch auf meiner Seite ist?

    Meine Antwort: Nicht mit Session-Objekten oder Cookies. Allenfalls mit Javascript. Und wenn es dein Benutzer nicht zulässt gar nicht. Basta!



  • schmidt-webdesign.net schrieb:

    Und wenn es dein Benutzer nicht zulässt gar nicht. Basta!

    Ich denke das dürfte ihm klar sein, "tomatensalat" will ja auch keine perfekte Lösung, sondern nur eine ausreichend gute. Und ich denke, dass Sessions ausreichend gut sind, denn wenn die Session abgelaufen ist, kann er auch guten Gewissens annehmen, dass der Benutzer nicht mehr auf seiner Seite ist. Wenn der doch noch drauf ist, wird's nicht weiter schlimm sein, ist dann halt wie neu draufgegangen.



  • Okay, also der Wikipedia Artikel über Sessions liefert auch absolut keinerlei Begründung dafür auf Session-Objekte zu verzichten. Ganz ehrlich, ich weiß wirklich nicht was Du mir zu erklären versuchst.

    Es gibt definitiv KEINEN Grund auf Sessions zu verzichten. Ganz im Gegenteil man sollte sie sogar verwenden. Ansonsten labern dann ziemlich viele Experten Blödsinn, denn die empfehlen wirklich ALLE das Session-Objekt zu verwenden.

    Badestrand hat jedenfalls verstanden worauf ich hinaus will. 👍



  • schmidt-webdesign.net wollte sagen, dass die Existenz einer Session nicht bedeutet, dass der User tatsächlich auf der Seite rumlungert (diese im Browser betrachtet). Die Session lebt nach der letzten Server-Client-Übertragung eine vorgegebene Zeit lang, ganz unabhängig davon, ob der User die Seite geschlossen hat oder nicht. Wenn nun diese Session-Lebenszeit auf 30 Minuten gesetzt wurde, kann ich als User nach drei Sekunden die Seite schließen, gelte aber weitere 29 Minuten, 57 Sekunden auf dem Server als online.

    Gruß



  • Hallo,

    zumal die Session so lange weiter läuft wie das Browserfenster geöffnet ist. Der Nutzer kann also deine Seite besuchen eine Session starten, dann die Seite wechseln und aber immernoch eine aktive Session haben. Mit ein bißchen basteln kannst du das aber über den onunload-event im Body regeln.

    mfg, Micha



  • RandomAccess85 schrieb:

    zumal die Session so lange weiter läuft wie das Browserfenster geöffnet ist. Der Nutzer kann also deine Seite besuchen eine Session starten, dann die Seite wechseln und aber immernoch eine aktive Session haben. Mit ein bißchen basteln kannst du das aber über den onunload-event im Body regeln.

    Sorry, aber das ist - zumindest vom Kontext her - völlig irrelevant. Clientseitig besteht die Session womöglich solange, wie der Client nicht geschlossen wurde ("Browser beendet"), aber davon weiß der Server herzlich wenig. Das serverseitige Session-Timeout bezieht sich immer auf den letzten Zugriff. Wenn der Benutzer die Seite aufruft und eine 30min-Session begonnen wird, ist die Session - so der Client keine weitere Verbindungen aufbaut, die die Session erneuern - nach 30min beendet; auch wenn der Client noch vierundziebig Tage länger ununterbrochen läuft.

    Eine Session bietet einen guten Anhaltspunkt, festzustellen, ob ein Besucher nicht mehr auf der Webseite verweilt, der es früher einmal tat. Denn die Wahrscheinlichkeit, dass er eine Session anfangs ankzeptierte und sie dann ganz plötzlich ablehnt ist relativ gering. Verlässlich oder gar Zuverlässig ist die Angabe aber nicht. Eine solche kann es nicht geben, und i.d.S. sind auch sämtliche Javascript-Frickeleien, mit denen es unter X Bedingungen ein wenig genauer aber keinen Deut zuverlässiger bestimmt werden kann, völlig sinnfrei.

    Es gibt auch keinen vernünftigen Grund, sekunden- oder auch nur minutengenau wissen zu müssen, wann der Benutzer tatsächlich praktisch die Seite verlassen hat. Zumindest ist mir noch nie einer untergekommen, der nicht unnötige Spielerei war.



  • blobb schrieb:

    Es gibt auch keinen vernünftigen Grund, sekunden- oder auch nur minutengenau wissen zu müssen, wann der Benutzer tatsächlich praktisch die Seite verlassen hat. Zumindest ist mir noch nie einer untergekommen, der nicht unnötige Spielerei war.

    ...ziemlich blind meiner Meinung nach!

    Und selbst wenn es nur eine Spielerei wäre, gibt es keinen Grund es nicht anzuwenden.



  • schmidt-webdesign.net schrieb:

    Meine Antwort: Nicht mit Session-Objekten oder Cookies. Allenfalls mit Javascript. Und wenn es dein Benutzer nicht zulässt gar nicht. Basta!

    👍
    Es gibt keine 100% zuverlässige Methode um festzustellen, ob ein Benutzer gerade jetzt tatsächlich noch auf der Seite ist oder nicht. Aber je nachdem was man benötigt, kann der ein oder andere Ansatz ja schon reichen.



  • RandomAccess85 schrieb:

    blobb schrieb:

    Es gibt auch keinen vernünftigen Grund, sekunden- oder auch nur minutengenau wissen zu müssen, wann der Benutzer tatsächlich praktisch die Seite verlassen hat. Zumindest ist mir noch nie einer untergekommen, der nicht unnötige Spielerei war.

    ...ziemlich blind meiner Meinung nach!

    Und selbst wenn es nur eine Spielerei wäre, gibt es keinen Grund es nicht anzuwenden.

    ... ziemlich unpragmatisch meiner Meinung nach.

    Es gibt auch keinen Grund, nicht einen sprechenden, springenden, goldene strähnen versprühenden Smiley auf der Webseite zu animieren, der die Maus mit einem Schweif verfolgt und bei Berührung eine Sprechblase aufpoppen lässt, in der "Hallo, ich bin Fluffy" steht. Kein Grund, etwas nicht zu machen, ist kein Grund, es zu machen. Kein Grund, etwas nicht zu machen, ist ein Grund, es nicht zu machen. Alles andere sind verschwendete Ressourcen.

    ... was jemand auf seiner privaten kleinen Homepage macht, ist natürlich etwas anderes. Trotzdem: Wozu brauchst du hier bitte die sekundengenaue Angabe?


Anmelden zum Antworten