Thread Subroutine als Parameter: Syntax Verständnisproblem (11 answers)
Opened by Perl007 at 2018-06-28 09:40

haj
 2018-06-29 11:32
#188591 #188591
User since
2015-01-07
555 Artikel
BenutzerIn

user image
2018-06-29T07:24:15 rosti
Die HTTP Spec sieht folgendes vor:

Quote
Ist ein Request-Header CONTENT_LENGTH > 0 gesetzt, gibt es einen Message-Body. Für den Webserver heißt das, daß soviele Bytes aus STDIN zu lesen sind, wie in CONTENT_LENGTH angegeben.

Aus welcher Spec ist dieses Zitat? Die HTTP Spec ist für mich RFC 7230. Da heißt der entsprechende Header Content-Length und es ist im Abschnitt 3.2.3 angegeben, wie er zu behandeln ist.

HTTP ist ein Übertragungsprotokoll, da gibt es kein STDIN: Webserver lesen vom Socket. Erst die Verarbeitung durch eine CGI-Komponente liefert einen Message-Body auf STDIN ab. PSGI liefert statt dessen einen Input-Stream psgi.input, und mit mod_perl kann man sowohl die CGI-artige STDIN-Variante als auch das direkte Lesen aus dem Request-Objekt mit $r->read betreiben. In einer Mojolicious-Anwendung bekommt man den Body im CPAN:Mojo::Message::Request-Objekt und braucht sich weder um STDIN noch um HTTP-Header zu kümmern.

View full thread Subroutine als Parameter: Syntax Verständnisproblem