Mailinglisten-Archive |
Lutz Zetzsche wrote: > Hallo Norbert, > > Am Mittwoch, 4. Juli 2007 schrieb Norbert Pfeiffer: >> also mal unter Vorbehalt: >> In HTTP 1.1 wurde fest eingefuehrt, Seiten haeppchenweise >> auszuliefern. IMHO sind die Zahlen die Laenge der einzelnen Haeppchen >> in Hex oder Dec. > > an den Zusammenhang hatte ich auch schon einmal gedacht. In dem Fall > stellt sich mir die Frage, wie ich dann die Datei korrekt auslese. :-) > Wie finde ich diese Angaben, um sie entfernen zu können? Die > vierstelligen alphanumerischen Zeichenkombinationen stehen ja immer > separat in einer Zeile, also mit Zeilenumbruch davor und dahinter. Aber > Zeilenumbrüche finden sich ja überall in der Datei... Warum in der HTTP-Spezifikation nachgucken, wenn man auch per trial&error zum Ziel kommt? Wenn jede dieser Hexzahlen die Länge eines Blockes beschreibt musst du dir nur die erste Hex-Zahl einlesen, die Länge lesen und erwarten, dass du nach dieser Länge die nächste Hex-zahl findest. Jetzt musst du dir nurnoch überlegen, wie genau diese Hexzahl zusammengehört. Für den Fall, dass du doch lieber die Spezifikation zur Hand nehmen möchtest: 19.4.6 Introduction of Transfer-Encoding HTTP/1.1 introduces the Transfer-Encoding header field (section 14.41). Proxies/gateways MUST remove any transfer-coding prior to forwarding a message via a MIME-compliant protocol. A process for decoding the "chunked" transfer-coding (section 3.6) can be represented in pseudo-code as: length := 0 read chunk-size, chunk-extension (if any) and CRLF while (chunk-size > 0) { read chunk-data and CRLF append chunk-data to entity-body length := length + chunk-size read chunk-size and CRLF } read entity-header while (entity-header not empty) { append entity-header to existing header fields read entity-header } Content-Length := length Remove "chunked" from Transfer-Encoding Die gesamte RFC findet sich hier: http://www.ietf.org/rfc/rfc2616.txt > > Viele Grüße > Lutz Yannik
php::bar PHP Wiki - Listenarchive