tutorials.de Buch-Aktion 05/2012
RSS-Feed anzeigen

Blog by Radhad

Don't forget to flush!

Bewerten
von Radhad am 14.01.09 um 09:37 (1539 Hits)
Ich habe einen interessanten Blogeintrag gelesen über das zusammenspiel von HTTP 1.1 und dem PHP Befehl flush(). flush() erzwingt das senden des Headers in PHP und der nachfolgende Blogeintrag von Michael Caplan stellt schön dar, wie man es sich zu Nutze machen kann, die Header frühzeitig an den Browser zu senden.

Weiterhin wird auch gezeigt, dass diese Methode leider nicht mit den gängigen MVC Frameworks funktioniert, aber vielleicht integriert das ja noch jemand? Dürfte etwas aufwändiger sein, da die View + Layout oftmals als letztes gerendert werden...

Hier geht's zum Blogeintrag: Michael Caplan - Don't forget to flush

"Don't forget to flush!" bei Twitter speichern "Don't forget to flush!" bei Facebook speichern

Kategorien
Programming

Kommentare

  1. Avatar von ZodiacXP
    Wie bitte? Bin mal schnell drüber geflogen. Soll das heißen wenn man den Header der HTML per flush schon vorausschickt während der Body noch in der PHP generiert wird, dass die Seite insgesamt schneller lädt?
  2. Avatar von EvilO
    Ja, die Seite profitiert vor allem dann davon, wenn man den Inhalt sequenziell erstellt, dann kann man z.B. erst den Header senden, der kann schon vom Browser verarbeitet werden und eventuelle Stylesheets + Scripts geladen werden. Aber das ist noch nicht alles: wenn man z.B. Inhalte aus der Datenbank holt, kann man nach jeder Anfrage schonmal per flush() die neuen Daten losschicken, so schont man die Resourcen des Webservers, da weniger Speicher benötigt wird.
  3. Avatar von fiacyberz
    Sprich jeder sollte dies dringlichst tun, sofern er eine DB Anwendung laufen hat?

    Also erstmal den HTML Header senden inkl der <html> Tags.
    Dann den Seiten-Header fertig machen und senden.
    Dann den Inhalt der aus DB geholt wird
    Und dann normal den Footer hinten dran.

    Sehe ich das richtig?