3.1.7 Other Local Events

Since a request or response can fail, the client and server need to be able to handle communication failures so that they do not get into an inconsistent state. A majority of failures are expected to occur as the client is attempting to send a new request after the server has dropped the connection because of the expiration of the idle-time timer (section 3.1.2). Under any circumstances, the client MUST be able to properly handle failures during all aspects of sending and receiving a request or response.