By default, HTTP sessions use HTTP/1.1. To use HTTP/1.0, the connection
information property HTTP::EHTTPVersion
must be set to HTTP::EHttp10
.
From HTTPEXAMPLECLIENT
:
switch(cmd) { case EVersion10: SetHttpVersion(HTTP::EHttp10); break; case EVersion11: SetHttpVersion(HTTP::EHttp11); break; ... void CHttpClient::SetHttpVersion(HTTP::TStrings aHttpVersion) { RHTTPConnectionInfo connInfo = iSess.ConnectionInfo(); RStringPool p=iSess.StringPool(); connInfo.SetPropertyL(p.StringF(HTTP::EHTTPVersion,RHTTPSession::GetTable()),THTTPHdrVal(p.StringF(aHttpVersion))); }
The version chosen will apply to all new transactions following the property change, but will not affect any transactions currently in progress.
As HTTP/1.1 mandates the use of a persistent connection for requests made in series to a single origin server, the default behaviour of HTTP Client is to set up persistent connections for each transaction. This can be overridden by specifying a Connection header in the client request.