Socket, build communication between two process or application through TCP/IP protocol, layer 4 in OSI model . One acts as client process, another acts as server process. Server will do bind(), listen(), accept(), then read(), write(). Client do connect(), then read(), write().
Socket timeout:
read timeout, client hasn’t received data from server after [READ_TIMEOUT] time. Normally is SO_TIMEOUT in socket.
write timeout, client hasn’t been able to write successfully to server after [WRITE_TIMEOUT] time.
connection timeout, 3 steps handshake is not finished within [CONNECTION_TIMEOUT].
Below 3 are all on client side.
keep alive timeout(client side), it is part of HTTP Header. if client hasn’t received from server for [KEEP_ALIVE_TIMEOUT], client sends a request to server to see if server is still alive. If yes, client will still wait; if not, client will close the HTTP connection.
request timeout(server side HTTP), client needs to periodically send data to server. If server hasn’t received data from client for [REQUEST_TIMEOUT] time, server drops the connection.
TTL is the number in a IP packet. Meaning how long time this packet can be alive and router doesn’t drop it.
References:
https://stackoverflow.com/questions/2735883/relation-between-http-keep-alive-duration-and-tcp-timeout-duration