Forwarding in Abhängigkeit von HTTP-Header
Erhard_Rainer
- https
Hallo
Ich versuche derzeit folgendes Problem möglichst elegant zu lösen:
Ich möchte auf eine Datei verweisen, die es mehrmals im Web gibt, nämlich auf unterschiedlichen mirrors. Das Problem ist aber, daß es unter Umständen vorkommen kann, daß einer dieser Mirrors nicht erreichbar ist, und einen HTTP-Status Code gem. RFC 2616 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3] liefert. Nun möchte ich auf irgendeine Art und Weise (Javascript, PHP ...) erreichen, daß automatisch die erste verfügbare Adresse ausgeführt wird.
Beispiel:
Die Datei liegt auf
url_1: http://mesh.dl.sourceforge.net/sourceforge/
url_2: http://prdownloads.sourceforge.net/
usw.
Wenn url_1 einen Fehlercode liefert, dann soll er automatisch von url_2 herunterladen.
Noch besser wäre es eigentlich wenn jeder zweite Benutzer bei url_2 anfängt und sofern nicht vorhanden auf url_1 weitergeleitet wird.
maW.:
Benutzer 1 : url_1 -> sonst url_2
Benutzer 2 : url_2 -> sonst url_1
Benutzer 3 : url_1 -> sonst url_2
usw.
Dann hätte man auch noch eine Lastenverteilung und somit bessere Downloadgeschwindikeiten, ohne den Benutzer vor die Wahl zu stellen, ob er nun mirror_1 oder mirror_2 wählen sollte.
Wäre für jeden Hinweis sehr dankbar.
TIA
Erhard
Hi,
Ich versuche derzeit folgendes Problem möglichst elegant zu lösen:
Also unter "elegant" stelle ich mir hier andere Dinge als Script-Lösungen vor! =;-) Aber ...
Nun möchte ich auf irgendeine Art und Weise (Javascript, PHP ...) erreichen, daß automatisch die erste verfügbare Adresse ausgeführt wird.
... Du könntest via JavaScript von jedem Server die gleiche Grafik laden. Mit onLoad wird der Vollzug gemeldet. Der Server, dessen Grafik als erster den onLoad-Event veranlaßt (also den angeforderten Request als erstes vollständig erfüllt hat) "gewinnt". In der Funktion, die das abhandelt, kannst Du dann gleich die "Testseite" mittels location.replace() durch den gewünschten Request ersetzen.
Gruß, Cybaer