Trafficschonendes Einbinden von externe Seiten
Martin
- php
0 Der Martin0 werbeklaus0 Der Martin0 Martin0 Cybaer
Hallo,
wenn ich auf einer Hauptseite eine externe Fotogalerie (befindet sich auf einen anderen Server) einbinden möchte. Kann ich das über PHP z.B. per include machen, ohne! dass der Server der Haupt-Webseite die Daten der externen Fotogalerie parsen muss - sprich den Traffic umleiten tut?
Bsp.:
BESUCHER der HAUPTSEITE --stellt Anfrage über--> fotos.php --leitet weiter an externen Server--> EXTERNER SERVER --schickt Antwort-->, doch diese Antwort soll nicht über HAUPT-WEBSEITE geparst werden, da dies bei vielen Bildern unnötigen Traffic verursacht. Besser ist, die Antwort geht an den BESUCHER.
Ich hatte bis dato FRAMES eingesetzt und mit dem Einbinden von externen Seiten gab es dadurch keine Trafficumleitungen über die HAUPTSEITE.
Gruß
Martin
Lieber Namensvetter,
wenn ich auf einer Hauptseite eine externe Fotogalerie [...] ohne! dass der Server der Haupt-Webseite die Daten der externen Fotogalerie parsen muss - sprich den Traffic umleiten tut?
du bringst hier zwei verschiedene Dinge durcheinander, wie mir scheint.
Wenn du fremde Inhalte von einem anderen Server per include() oder besser readfile() einbindest, wird in aller Regel der fremde Server den PHP-Code parsen, sprich: das Script interpretieren und ausführen. Aber dein eigener Server muss trotzdem die Daten durchreichen; der Traffic fällt also bei dir auf jeden Fall an. Genaugenommen sogar doppelt: Dein Server fordert die Daten von woanders an, und gibt sie dann wieder an den anfordernden Client raus (es soll allerdings Hoster geben, die den durch PHP "im Hintergrund" verursachten Traffic nicht mitrechnen).
BESUCHER der HAUPTSEITE --stellt Anfrage über--> fotos.php --leitet weiter an externen Server--> EXTERNER SERVER --schickt Antwort-->, doch diese Antwort soll nicht über HAUPT-WEBSEITE geparst werden, da dies bei vielen Bildern unnötigen Traffic verursacht. Besser ist, die Antwort geht an den BESUCHER.
Das ist technisch bedingt kaum möglich. Denn der externe Server erhält ja von _deinem_ Server die Anfrage. Von dem Client, der letztendlich die Seite abgerufen hat, weiß er nichts. Und selbst wenn er die IP-Adresse mitgeteilt bekäme: Das TCP/IP-Protokoll sieht nicht vor, dass eine Antwort an einen anderen Host geht als den, der sie angefordert hat.
Ich hatte bis dato FRAMES eingesetzt und mit dem Einbinden von externen Seiten gab es dadurch keine Trafficumleitungen über die HAUPTSEITE.
Eine clientseitige Lösung ist IMHO auch die einzige Möglichkeit, dieses Traffic-Problem zu lösen. Denn da stellt der _Client_ die Anfrage an den externen Server - und bekommt logischerweise auch direkt von ihm die Antwort.
Herzliche Grüße aus Backnang,
Martin
Hallo,
ausserdem wird mit include kein bild eingelesen und somit durchgereicht. Bilder werden erst vom Browser selbst angefordert und eingebunden.
Daraus folgt:
a) Bilder passieren deinen Mittler-Server nicht
b) Du musst aufpassen, dass du absolute Pfade verwendest, da der Broser relative Pfade auf den Mittler-Server beziehen würde!
Freundlich Grüße
werbeklaus
Hallo,
ausserdem wird mit include kein bild eingelesen und somit durchgereicht. Bilder werden erst vom Browser selbst angefordert und eingebunden.
das ist ein sehr guter Einwand, das hatte ich natürlich gar nciht bedacht. Und da die Bilder wohl den Löwenanteil des Traffics ausmachen, dürfte das ursprüngliche Problem dadurch nichtig geworden sein. ;-)
b) Du musst aufpassen, dass du absolute Pfade verwendest, da der Broser relative Pfade auf den Mittler-Server beziehen würde!
Allerdings.
Schönes Wochenende noch,
Martin
Hallo,
genau a) - das wollte ich wissen!
Danke
Gruß
Martin
Daraus folgt:
a) Bilder passieren deinen Mittler-Server nicht
b) Du musst aufpassen, dass du absolute Pfade verwendest, da der Broser relative Pfade auf den Mittler-Server beziehen würde!Freundlich Grüße
werbeklaus
Hallo Martins,
Eins wollte ich noch loswerden:
Warum möchtest du deine Website auf diese 2 Server verteilen?
Auf deinem "Haupt-"Server hast du ja PHP, drum kann das nicht der Grund sein, die Bildergallerie auszulagern.
Wenn du es so wie oben beschrieben mit include machst, dann addieren sich aber auch die Antwortzeiten der beiden Server, da der Mittlerserver erst noch den Bilderserver Kontaktieren muss, bevor er das Ergebnis dem User mitteilen kann.
Solltest du also keinen driftigen Grund haben, würde ich dir trotzdem abraten, es so zu machen :-)
werbeklaus
Hi,
a) Bilder passieren deinen Mittler-Server nicht
Das kommt ja wohl ganz darauf an, wie man diesen programmiert.
b) Du musst aufpassen, dass du absolute Pfade verwendest, da der Broser relative Pfade auf den Mittler-Server beziehen würde!
Oder man programmiert den "Mittler-Server" entsprechend. Z.B. indem man bei den Bildern als Resource das eigene Mittler-Script einsetzt, gefolgt vom ursprünglichen URL als Parameter. Dann holt das Mittler-Script ggf. auch alle sonstigen Daten und gibt sie selbst aus.
Gruß, Cybaer
Hallo,
a) Bilder passieren deinen Mittler-Server nicht
Das kommt ja wohl ganz darauf an, wie man diesen programmiert.
b) Du musst aufpassen, dass du absolute Pfade verwendest, da der Broser relative Pfade auf den Mittler-Server beziehen würde!
Oder man programmiert den "Mittler-Server" entsprechend. Z.B. indem man bei den Bildern als Resource das eigene Mittler-Script einsetzt, gefolgt vom ursprünglichen URL als Parameter. Dann holt das Mittler-Script ggf. auch alle sonstigen Daten und gibt sie selbst aus.
Ich ging davon aus, dass mittles Include einfach der Quelltext eingebunden wird :-)
Dass man einen Server so programmieren kann, wie man möchte, kann ich mir schon denken, aber es war ja ein simples include im Gespräch!
werbeklaus