On Tue, 15 Aug 2023 at 14:17, Alan Altmark <alan_altm...@us.ibm.com> wrote:

> That’s not just SSL. Only the app knows when it has received all the data.
> Only then should it close the socket.   So an app waits for a certain
> amount of time or until it gets and end-of-data indicator. That might be a
> specific byte sequence or it might be a closed connection (eg ftp).
>

Sir,

The classic HTTP protocol is that request and response are complete when we
say so by closing the connection. The Content-Length header is a later
courtesy in anticipation of persistent connections. The Connection: close
header tells the server that the client will not send further requests
after the null record that terminates the request body (if any). Both
response headers and response body are terminated with a null record; in
this case we're done after that 2nd null record and the server will close
the socket.

In retrospect, I believe the LINGER option meant to say that it does not
close the *inbound* socket when the outbound socket is closed, but hangs in
for the specified time or the other side closes the socket, whichever comes
first. But I may bring this up at the next Plumber's Convention. This is
exactly what happens with VM SSL because it implements what TCPCLIENT would
do without the LINGER option.

Rob

Reply via email to