Seite 1 von 1

button.php auf button.png umleiten ... ressourcenschonend

Verfasst: 30.09.2009, 10:43
von gnark
Hi,

ich hatte ein script, das per php ein image zurückgibt, aber vorher noch berechnungen durchführt.
Um Serverlast zu sparen, lasse ich jetzt den php-code weg und hab einfach

Code: Alles auswählen

header("Location: button.png");
in der button.php stehen.

Laut Provider ist die serverlast (zeitweise) immernoch sehr hoch.
Gibt es ne noch einfachere, schnellere, ressourcensparendere Methode, das zu machen?
Muss man irgendwas beachten, damit das bild gecacht wird?
oder bringt eine 301-Weiterleitung Vorteile?

oder ist ne htaccess besser?

Verfasst:
von

Re: button.php auf button.png umleiten ... ressourcenschonen

Verfasst: 30.09.2009, 11:21
von Mork vom Ork
gnark hat geschrieben:ich hatte ein script, das per php ein image zurückgibt, aber vorher noch berechnungen durchführt.
Um Serverlast zu sparen, lasse ich jetzt den php-code weg und hab einfach

Code: Alles auswählen

header("Location: button.png");
in der button.php stehen.
Korrekt wäre:

header("HTTP/1.0 301 Moved");
header("Location: http://" . $_SERVER["HTTP_HOST"] . "/button.png");

Statt 301 kannst du auch 302 nehmen, dann gehen die Anfragen auch in Zukunft erstmal an button.php, statt direkt an button.png. Welche Form der Umleitung hängt davon ab, ob du vorhast, button.png als Dauerlösung zu nutzen oder nur, bis du dein button.php-Skript auf Geschwindigkeit gebracht hast.

Das ist aber nicht die Ursache deines Problems.
Laut Provider ist die serverlast (zeitweise) immernoch sehr hoch.
Wenn du nur die eine header()-Zeile (bzw. die zwei korrekten) in button.php stehen hast, kann es nicht an button.php liegen.

Hast du danach noch mehr Code stehen, ändert die Umleitung mit header() überhaupt nichts, der Code wird schließlich bis zum Ende der Datei (oder bis exit() oder die()) ausgeführt.
Muss man irgendwas beachten, damit das bild gecacht wird?
Nein, das geschieht von ganz alleine. Man muss nur etwas beachten, wenn eine Resource nicht im Cache landen soll.
bringt eine 301-Weiterleitung Vorteile?
Nur die Umgehung der erneuten Abfrage an button.php, siehe oben.
ist ne htaccess besser?
Wenn du noch keine .htaccess hast, kann man sich darüber streiten, ob nun die .htaccess, die bei jedem einzelnen Zugriff auf deine Webseiten eingelesen werden muss, mehr Nanosekunden aufhäuft als der PHP-Interpreter, der zwar nur beim Zugriff auf button.php läuft, dafür aber vergleichsweise klobig und schwerfällig ist.
Das ist aber eher ein Streit für Theoretiker und Geschwindigkeitsexzentriker. In der Praxis ist das wurscht.

Falls du allerdings der Einzigste bist, der auf button.php verweist, dann wäre es in jedem Falle weitaus sinniger, wenn du alle Referenzen auf button.php in button.png abänderst, anstatt den Browser erst in die falsche Richtung laufen zu lassen (button.php) und das dann zu korrigieren (Weiterleitung nach button.png). Fehlervermeidung geht vor Fehlerbehebung.

Verfasst: 02.10.2009, 15:19
von gnark
Danke für die Hilfe!
auf das png verlinken andere Seiten, deswegen muss ich die .php umleiten.

Verfasst: 02.10.2009, 16:13
von mgutt
Schonmal probiert die button.png einfach in .php umzubenennen?

Sie wird dann allerdings immer noch geparst. Bringt also auch nicht viel.

Ich glaube allerdings auch nicht, dass es an einem popeligen Bildchen liegen kann.