CGI



  • Kann ein CGI script auch laufen, wenn der benutzer nich mehr auf der seite ist, also wie ein programm das von einem user gestartet wurde und dann von alleine weiter läuft, bis der benutzter wieder ins internet kommt und das programm beendet`?

    Kann cgi auch webseiten aufrufen und die daten auf der seite verwalten? sprich ob cgi eine html auslesen kann, die , wenn es denn möglich ist, cgi selbst aufgerufen hat?



  • Mr. Weiß nix schrieb:

    Kann ein CGI script auch laufen, wenn der benutzer nich mehr auf der seite ist, also wie ein programm das von einem user gestartet wurde und dann von alleine weiter läuft, bis der benutzter wieder ins internet kommt und das programm beendet`?

    Nein.

    Kann cgi auch webseiten aufrufen...

    Ja.

    ... und die daten auf der seite verwalten?

    Nein.

    sprich ob cgi eine html auslesen kann, die , wenn es denn möglich ist, cgi selbst aufgerufen hat?

    Auslesen!=Verwalten. Auslesen ist möglich, soweit ich weiß. Das Verwalten der Daten nicht. Also du kannst jetzt nichts auf der anderen Seite speichern.



  • man kann aber die daten von der html auslesen oder?

    gibt es denn eine sprache, die es möglich macht, dass dieses programm weiterläuft, auch wenn ich nicht uim internet bin?



  • Mr. Weiß nix schrieb:

    Kann ein CGI script auch laufen, wenn der benutzer nich mehr auf der seite ist, also wie ein programm das von einem user gestartet wurde und dann von alleine weiter läuft, bis der benutzter wieder ins internet kommt und das programm beendet`?

    JA und NEIN

    Wenn du eine Seite aufrufts startet der Webserver das CGI-Script. Dieses läuft nun durch bis es sich beendet (HTML-Ausgabe oder sonstwas)

    Wenn darin eine Schleife läuft dann beendet sich der Process nicht.
    Somit läuft es weiter. Ob Apache den Process killt weiß ich allerdings nicht sicher.
    Am besten testet du das mal.

    Das 2te geht zu teil aber Grundsätzlich nicht da du keine Zuordnung des Clients zum Script hast.
    Man könnte hier in eine Datenbank/File schreiben und das Script holt sich diesen Wert. Es kann aber keine HTML-Ausgabe auf dem Client mehr erzeugen.



  • Moin,

    auch wenn der Beitrag schon älter ist... ein CGI Script oder Programm kommuniziert mit dem Webserver über stdin und stdout (Common Gateway). Wenn der Webserver ein CGI-Programm startet, was dazu ausführbar sein muss, muss dieses Programm innerhalb von 15 Minuten (Apache) eine Antwort über stdout an den Webserver abliefern, unabhängig davon ob da noch jemand den Browser offen hat. Und jetzt gibt es 2 Möglichkeiten:

    • Das CGI-Prog. sendet einen kompletten Header mit einer Leerzeile am Ende. In diesem Fall macht der Apache sofort zu.

    • Das CGI-Programm sendet einzelne Header aber ohne Leerzeile hintendran. In diesem Fall wartet der Apache innerhalb des Timeout solange bis das Script mit einer Leerzeile signalisiert daß es fertig ist. Wenn also nun das CGI-Script bspw. alle paar Minuten einen Header sendet, wartet der Apache auch länger als 15 Minuten, theoretisch unendlich lange.

    Das Problem jedoch ist, daß der Apache über das Protokoll HTTP keinen Benutzerstatus kennt. Man kann zwar auch mit HTTP Sitzungen aufbauen (Cookie) aber es gibt bessere und sichere Protokolle wie z.B. RTSP. Browser und Apache jedoch kennen kein RTSP dafür gibt es spezielle Server und Clients wie Smart TV.

    MFG


  • Mod

    Ich glaube nicht, dass die Enkelkinder der Fragestellenden daran noch interessiert sind.


Log in to reply