3.3.4.3 Closing a KeepAlive POST Session

The client SHOULD close the POST session by sending a graceful TCP disconnect. The PostSessionState is set to the ‘Closed’ state.

TCP client or server connections are closed using either a Graceful Close (TCP FIN Flag set to 1) or Abortive Close (TCP Reset Flag set to 1) mechanism. Closing the connection gracefully provides clients and servers with the benefit of never having to resend unacknowledged payload data. Abortive Closed connections are efficient in connection tear down but can require the client or server to resend payload data which has not been acknowledged at the TCP level. HTTP Encapsulation of SSTP Protocols relies on SSTP to ensure that any unacknowledged payload data is later resent. The choice of connection close mechanism is one of efficiency (efficient connection tear down verses efficient byte transmission). This document does not mandate that implementations adhere to one approach or another. Implementations can choose to close HTTP Encapsulated Connections either gracefully or abortively based on the implementation's requirements.