[英]Apache HttpClient TCP Keep-Alive (socket keep-alive)
[英]Is it possible keep http connection keep-alive forever with apache httpclient?
可以通過參數設置保持HTTP連接的活動狀態,
保持活動狀態:超時= 15,最大= 100
是否可以使與服務器端點的連接無限期保持活動狀態? 如果是這樣,怎么辦?
根據您的意見,我認為此頁面將為您提供所需的答案。 那里最相關的報價:
如果響應中不存在Keep-Alive標頭,則HttpClient會假定連接可以無限期保持活動狀態。 但是,為了節省系統資源,許多常用的HTTP服務器被配置為在一定的不活動時間后刪除持久連接,這通常是在不通知客戶端的情況下進行的。
因此,基本上,這取決於服務器的協作程度。 但是,最終請記住,保持活動值是對服務器的建議,您不能保證一定會兌現。 這可能是由於服務器試圖從不活動的連接中回收有限的資源,或者是底層TCP連接中的問題,或者僅僅是編程錯誤,因此,有一個適當的策略來在發生故障時重新連接是個好主意。
如果一段時間沒有真正的請求,您可以循環執行一個假的“ ping”請求,以使連接盡可能長的存活。 但是,這給服務器帶來了不必要的負載,並且您的應用程序中的性能提升將很小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.