Hari: Seite während der Aktualisierung sperren

Schönen Guten morgen allerseits...

Stehe vor folgendem Problem:
Ein HTML-Seite wird des öfteren aktualisiert und per FTP zum Server transportiert.
Diese Seite beinhaltet ein location.reload() um sich alle 10 sec. neu zu laden. Jetzt passiert es natürlich, daß die Seite gerade gespeichert wird, währen sie sich aktualisieren sollte. Das Resultat sind natürlich Fehlermeldungen aller Art.

Meine Frage:
Kann man den Zugriff auf eine Seite so sperren, daß der Browser auf derren Freigabe wartet ?
Habe weiter unten im Forum einen Artikel mit ähnlichem Problem gelesen. Darin kam der Begriff "die Datei flocken" vor. Was heißt das ???

Danke für eure Hilfe

Hari

  1. Hi,

    Kann man den Zugriff auf eine Seite so sperren, daß der Browser auf derren Freigabe wartet ?

    der Browser hat nicht die geringste Ahnung, was da bei irgendeinem Server gerade vor sich geht. Eine Sperrung muß also auf Serverseite stattfinden, was ggf. durch die Wahl eines geeigneten Betriebssystems geschehen sollte.

    Habe weiter unten im Forum einen Artikel mit ähnlichem Problem gelesen. Darin kam der Begriff "die Datei flocken" vor. Was heißt das ???

    Flock kommt von "File Lock", also Dateisperrung. Beispielsweise gibt es in Perl einen entsprechenden Befehl (s. perldoc -f flock, wenn Du mit Perl arbeitest).

    Cheatah

    1. der Browser hat nicht die geringste Ahnung, was da bei irgendeinem Server gerade vor sich geht. Eine Sperrung muß also auf Serverseite stattfinden, was ggf. durch die Wahl eines geeigneten Betriebssystems geschehen sollte.

      Das Problem ist, daß mein Provider CGI und Pearl nicht unterstützt :(
      Es bliebe nur die Möglichkeit beim FTP-Download die Datei zu sperren bis diese fertig abgespeichert wurde.
      Eventuell gehts auch mit speichern unter einen anderen Namen, dann die richtige Datei löschen und umbennenen. Dann bleibt aber immer noch eine Restzeit, in der der Browser nicht auf die Datei zugreifen kann.

      Kann man mit dem onerror Ereignis beim Laden des Links den Fehler abfangen ? Meine bisherigen Versuche schlugen fehl.

      hari

      1. Hi,

        Das Problem ist, daß mein Provider CGI und Pearl nicht unterstützt :(

        also, Pearl unterstützen die wenigsten, Perl dafür umso mehr ;-)

        Ne, aber wenn Du Features benötigst, die Dein Provider nicht bietet, solltest Du über einen Providerwechsel nachdenken. Wobei ich hier eigentlich mit Perl nur "eine" Möglichkeit sehe, nicht unbedingt die beste.

        Es bliebe nur die Möglichkeit beim FTP-Download die Datei zu sperren bis diese fertig abgespeichert wurde.

        Hm, es wäre mir neu, daß das FTProtokoll ein Filelocking unterstützen würde, aber ich lasse mich da gerne belehren.

        Eventuell gehts auch mit speichern unter einen anderen Namen, dann die richtige Datei löschen und umbennenen. Dann bleibt aber immer noch eine Restzeit, in der der Browser nicht auf die Datei zugreifen kann.

        Richtig - da wäre mir an Deiner Stelle die theoretische Möglichkeit eines Ladefehlers lieber. Es sei denn, der Server verfügt über einen ausgeklügelten Caching-Mechanismus, der beim Fehlen einer Datei einfach eine gecachete Version ausliefert - über so eine Möglichkeit weiß ich aber nichts.

        Kann man mit dem onerror Ereignis beim Laden des Links den Fehler abfangen ? Meine bisherigen Versuche schlugen fehl.

        onError kann höchstens funktionieren, wenn ein Error erkannt wird. Woher soll der Client aber wissen, daß die Daten, die er bekommen hat, fehlerhaft sind? Nein, das müßte schon serverseitig passieren.

        Cheatah