一个 典型web会话中打开和关闭所有连接所花费的时间远大于实际传输数据的时间,尤其是许多小文档对话。
而使用SSL或TLS的加密HTTPS连接,建立一个安全的socket握手过程比建立常规的socket需要更多工作。
所以http1.1及以后版本中提供一个connection属性提供长连接
Connection:Keep-Alive 表示希望重用一个socket
URL类透明的支持HTTP Keep-Alive,除非显示关闭
http.keepAlive true or false 表示启用或禁用HTTP Keep-Alive
http.maxConnections 设置同时保持打开的socket数,默认为5
http.keepAlive.remainingData 设为true,使Java丢弃连接之后完成清理,默认false
sun.net.http.errorstream.enableBuffering 设为true,尝试缓冲400和500级响应相对小的错误流,从而能释放连接,以备稍后重用,默认为false
sun.net.http.errorstream.bufferSize 设置缓冲错误流使用的字节数,默认4096字节
sun.net.http.errorstream.timeout 读错误流超时前的毫秒数,默认300毫秒