服务器通常会有一些超时值,超过此值将不再维持非活动连接。代理服务器可能会使这个值更高,因为客户端可能会通过同一个代理服务器建立更多的连接。对于客户端或服务器而言,使用持久连接对此超时的长度(或存在)没有要求。

希望实现超时的客户端或服务器应该优雅地关闭连接。实现应该持续监视接收到的关闭信号的开放连接,并在适当情况下对其进行响应,因为连接两端的及时关闭可以使分配的系统资源得到回收。

客户端、服务器或者代理可能在任何时候关闭传输连接。例如,客户端可能已经开始发送一个新的请求,同时服务器已经决定关闭“空闲”的连接。从服务器的角度来看,当连接空闲时被关闭,但是从客户端的角度来看,请求正在处理。

当可能的时候,服务器应该支持长连接,并且允许底层的传输流控制机制去解决临时的过载,而不是在客户端将会重试的情况下终止连接。之后的技术会加剧网络拥堵。

发送消息体的客户端应该在传输请求时监视网络连接是否有错误响应。如果客户端看到一个指示服务器不希望接受消息体并且它将关闭连接的响应,客户端应该立即停止发送消息体并关闭它这一侧的连接。

results matching ""

    No results matching ""