Ansonsten liest der Webserver solange aus STDIN wie Daten kommen und puffert auf seine Art und Weise die Ausgabe nach STDOUT -- eben chunked.
Sorry, nicht STDOUT sondern in das Socket richtung Client. CGI/1.1 definiert den Common Gateway wie folgt für den Webserver:
-
STDIN ist der Kanal aus dem der Webserver Daten liest die vom nachgelagerten Prozess (Perl, PHP..) gesendet wurden. PHP und Perl schicken Daten also nach STDOUT.
-
STDOUT ist der Kanal in den der Webserver Daten an den nachgelagerten Prozess sendet. Z.B. einen HTTP Message Body der infolge POST gesendet wurde. Der nachgelagerte Prozess wiederum liest diesen Message Body aus STDIN.
Des Weiteren werden von PHP gesendete header() vom Webserver geparst und nicht etwa direkt an den Client durchgereicht. Vielmehr generiert der Webserver selbst einen RFC gerechten Header Block den er in das Socket richtung Bowser schreibt.
Schönen Sonntag.