Hello, everybody. Does anybody know why does HttpSrv (1.41, ICS v5) default to closing connection when client sends HTTP/1.1 request without a Connection: header? IOW, when THttpServer receives
GET / HTTP/1.1 it will close the connection after sending the response. If one adds 'Connection: keep-alive' to the request header, connection will stay open. This is a proper behaviour for HTTP/1.0 connections but I believe it is in violation of RFC 2616, which states: "8.1.2 Overall Operation A significant difference between HTTP/1.1 and earlier versions of HTTP is that persistent connections are the default behavior of any HTTP connection. That is, unless otherwise indicated, the client SHOULD assume that the server will maintain a persistent connection, even after error responses from the server." I suggest adding two lines to the very end of the THttpConnection.ParseRequest: if FVersion = '' then FVersion := 'HTTP/1.0'; if FVersion <> 'HTTP/1.0' then //Gp, 2007-05-15 FKeepAlive := true; //Gp, 2007-05-15 end; Primoz -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be