The client did not produce a request within the time that the server
was prepared to wait. The client MAY repeat the request without
modifications at any later time.

I do not quite understand the first line. For example, a client connects successfully to the server for every request that was made (i.e. status 200 returned upon each request), then idle for a few minutes thereby not producing a request, would the server issue this 408 error? When does the server decides whether to wait for a request? Can somebody explain in detail what is happening at the TCP level that is causing this error to be triggered?