一個 典型web會話中打開和關(guān)閉所有連接所花費的時間遠大于實際傳輸數(shù)據(jù)的時間蛙吏,尤其是許多小文檔對話球及。
而使用SSL或TLS的加密HTTPS連接询枚,建立一個安全的socket握手過程比建立常規(guī)的socket需要更多工作。
所以http1.1及以后版本中提供一個connection屬性提供長連接
Connection:Keep-Alive 表示希望重用一個socket
URL類透明的支持HTTP Keep-Alive,除非顯示關(guān)閉
http.keepAlive true or false ?表示啟用或禁用HTTP Keep-Alive
http.maxConnections 設(shè)置同時保持打開的socket數(shù)第岖,默認為5
http.keepAlive.remainingData 設(shè)為true潭流,使Java丟棄連接之后完成清理竞惋,默認false
sun.net.http.errorstream.enableBuffering 設(shè)為true,嘗試緩沖400和500級響應(yīng)相對小的錯誤流灰嫉,從而能釋放連接拆宛,以備稍后重用,默認為false
sun.net.http.errorstream.bufferSize 設(shè)置緩沖錯誤流使用的字節(jié)數(shù)讼撒,默認4096字節(jié)
sun.net.http.errorstream.timeout 讀錯誤流超時前的毫秒數(shù)浑厚,默認300毫秒