Tach!
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.
Warum sollte der Client weiter lauschen, wenn er fertig ist mit seinen Anfragen? Der Letzte macht das Licht aus. Wenn alle eingebundenen und nicht aus dem Cache bedienbaren Ressourcen abgefragt wurden, muss der Client die Verbindung nicht mehr offenhalten und er kann den letzten Request mit Connection: Close schicken.
Und wennse nicht gestorben sind, warten die noch heute ;)
TCP/IP-Verbindungn haben auch noch ein Timeout. Da kappt spätestens das Betriebssystem (sprich: der TCP/IP-Stack) die Verbindung, wenn darüber nichts mehr läuft.
dedlfix.