HTTP requests selbst machen

hallo

ich habe ein Problem mit einem Server und dem sogenantem Pipelining.

hole_Seite(Datei1.htm);
hole_Seite(Datei2.htm);

Ich schicke einen Request

mit
GET /Datei1.htm HTTP/1.1
Content-Type: text; charset=utf-8
Host: [www.****.com](http://www. ****.com)
Content-Length: 470
leerzeile
470 bytes text

das funkltioniert auch, wenn die zu erwartende Antwort klein ist.

Wenn der Response zB 7900 Bytes groß ist, bricht der Server bei ca. 7100 Bytes ab.

Schicke ich erneut einen völlig anderen Request schickt er die 900 fehlenden Bytes.

Mir wurde nun gesagt es handele sich evt um Pipelining.
Also erstmal einige Requests hinschicken und dann kommen die
Responses.
Aber was macht man, wenn ich im nächsten Request Infos
aus dem Response brauche.

Gibt es sowas wie ? :
Expect: dont chunk
oder
Expect: send all

Danke
Peter

Hallo,

Ich schicke einen Request

mit
GET /Datei1.htm HTTP/1.1
Content-Type: text; charset=utf-8
Host: [www.****.com](http://www. ****.com)
Content-Length: 470
leerzeile
470 bytes text

Das verwundert mich jetzt schon ein bisschen. Wieso schickst du nach einem GET-Header nach der Leerzeile noch was? Ist das irgendwo spezifiert?

das funkltioniert auch, wenn die zu erwartende Antwort klein
ist.

Wenn der Response zB 7900 Bytes groß ist, bricht der Server
bei ca. 7100 Bytes ab.

Bei jedem Server? Oder nur einem? Was sagt ein Packetsniffer was als letztes gesendet wurde? Hast du mal deinen eigenen Server aufgesetzt, das log-Level hochgedreht und in die Logfiles geschaut?

Schicke ich erneut einen völlig anderen Request schickt er die
900 fehlenden Bytes.

ENOARITHMETICS

Mir wurde nun gesagt es handele sich evt um Pipelining.

Müßtest du dazu nicht einen Keep-Alive-Header schicken?

Gibt es einen Grund, warum das Rad neu erfinden musst? Es gibt schon jede Menge Bibliotheken, die deine Probleme gelöst haben.

Und für deine weiteren Bemühungen:
http://www.faqs.org/rfcs/rfc2616.html

Grüße,
Moritz

Hallo Peter !

Grössere Datenmengen werden in http von den Webservern fast immer in mehrere Pakete aufgeteilt und verschickt.
Siehe ‚Chunked Transfer Coding‘ im http - Protokoll !

mfg
Christof