Der Martin: Wie heißt der Content-Type

Beitrag lesen

Hallo,

Ich hätte gedacht, die Verbindung wird nach Request/Response nicht abgebaut, so daß der nächste Request samt Response auf der gleichen Verbindung stattfindet.

Aber jedes Pärchen aus Request und Response unabhängig von den anderen.

Btw., versuche mal, das so zu programmieren. Du kommst dann an einen Punkt, wo der Server in das Socket lauscht ob weiterer Requests (offene Verbindung). Gleichzeitig lauscht der Client in das Socket ob einer Response.

nein, wieso das? Der Server verarbeitet den Request, sendet seine Response und erinnert sich dann an das Keep-Alive des Requests, hält also die Verbindung offen und lauscht weiter. So weit richtig.
Der Client dagegen hat zu der Zeit seine Antwort schon erhalten und sendet einen Augenblick später einfach seine nächste Anforderung. Danach lauscht er natürlich wieder auf Antwort.

Das Spielchen läuft so lange, bis entweder ein Request mit dem Header Connection: Close eintrifft (oder ohne den Connection-Header, denn AFAIK ist "Close" das Default-Verhalten) oder irgendein Timeout zuschlägt.

Ich hoffe, Dir ist klar, dass das so gar nicht gehen kann.

Es kann, und es tut. Und es ist sehr einfach nachzuprogrammieren - wenn man die Implementierung eines HTTP1.1-Clients insgesamt als einfach betrachtet.

So long,
 Martin