Rolf B: Ausgabe eines SSI - Scriptes auf JS Variable

Beitrag lesen

Hallo piet,

was Jürgen geschrieben hat, ist soweit machbar. In einer kontrollierten, Dir genau bekannten Umgebung. Und deshalb hätte ich ein paar Hinweise.

Weniger Umweg: Wenn Du das Server-CGI selbst schreibst, dann könntest es statt 4.8.15.16 auch einen 5-Zeiler dieser Art generieren. JavaScript auf der HTML Seite findet dann eine Variable Piet und darin ein Objekt mit der Eigenschaft ServerIP vor. Auf das Objekt kannst Du verzichten, wenn Du sonst kaum JavaScript machst - aber eine scriptlastige Seite braucht ein Namespace-Konzept für globale Elemente, daher der Piet Container (der bei Dir vermutlich anders heißt). In der ersten Zeile stelle ich sicher, dass er existiert; in der zweiten Zeile das Unterobjekt `Server', und darin wird die Eigenschaft erzeugt.

<script type="text/javascript">
   Piet = Piet || {};
   Piet.Server = Piet.Server || {};
   Piet.Server.IPv4 = '4.8.15.16';
</script>

Wenn Du das JavaScript Modulpattern anwendest, kannst Du die CGI-Ausgabe natürlich auch so gestalten, dass eine Variable in einem Modul angelegt wird.

IPv6: Wie das obige Beispiel schon andeutet: Mit einer IPv4 bist Du nicht fertig. IPv6 rollt an, und irgendwann wird auch dein Server über IPv6 erreichbar sein. Vielleicht schon jetzt. Und wenn ein Client ihn dann über die IPv4 adressieren will, klappt es nicht. Du müsstest also eigentlich auch eine IPv6-Eigenschaft anlegen. Und dann im Client hoffen, dass Du da weißt, wie die Anbindung erfolgt. Aber eigentlich weißt Du das im Browser gar nicht.

Shared IP: Wenn Dein Server bei einem Hoster steht, hast Du gute Chancen, dass Du gar keine eigene IP hast, sondern der Zugriff geteilt wird. Der Hoster nutzt dann den Host Request Header, um den richtigen Adressaten zu finden.

Also: Warum überhaupt eine IP? Warum kann dein Client nicht mit dem DNS Namen deines Servers arbeiten? Die Punkte IP-Version und Shared IP erledigen sich damit automatisch.

Rolf

--
sumpsi - posui - clusi