If the Client Keep Alive feature is enabled on a NetScaler appliance, then the NetScaler appliance modifies the "Connection: close" header in an HTTP response to the client. If the Connection header is modified, then the client keeps the connection open. The subsequent requests from that client need not establish a new TCP connection to the appliance for each HTTP request. The following is a sample HTTP response header where the appliance has modified the Connection header:
HTTP/1.1 200 OK Date: Fri, 31 Dec 2010 18:09:36 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Wed, 17 Nov 2010 19:08:07 GMT Accept-Ranges: bytes Content-Length: 82 Cneonction: close Content-Type: text/html; charset=UTF-8
However, if you enable the USIP feature on a service, the appliance does not modify the "Connection: close" header. The following is a sample HTTP response header when the Client Keep Alive and USIP features are enabled on the appliance:
HTTP/1.1 200 OK Date: Fri, 31 Dec 2010 18:15:00 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Wed, 17 Nov 2010 19:08:07 GMT Accept-Ranges: bytes Content-Length: 82 Connection: close Content-Type: text/html; charset=UTF-8
When the USIP feature is not enabled, the appliance manages separate client side and server side connections and links the connections internally on the appliance.
In this scenario, the server closes the connection after sending an HTTP response to the client. The NetScaler appliance then modifies the "Connection: close" header to keep the connection to the client alive and the next request from the client can be sent to a different server.
However, when the USIP feature is enabled, the client and server connections are linked one-to-one, and the appliance cannot modify any headers. As a result, the appliance allows the connection at the client to be closed after it receives the HTTP response from the server.