不少服務器不會在響應頭中規定持久鏈接的持久時間,它們可能會在任何一個request完成時候關閉鏈接。若是一個服務器沒有規定持久鏈接的持久時間,ASIHTTPRequest將會在一個request完成後,保持鏈接60秒。對於你的服務器設置來時,60可能很長,也可能很短。
若是這個超時時間太長,那麼可能一個request使用這個鏈接時,服務器可能已經關閉了這個鏈接。當ASIHTTPRequest遇到鏈接已關閉錯誤,它就會在一個新的鏈接上重試這個request。
若是這個超時時間過短,而服務器卻更想讓這個鏈接保持更長時間,可是ASIHTTPRequest又開啓了沒必要要的新鏈接,那麼這將致使效率下降。css
// 設置持久鏈接的超時時間爲120秒
[request setPersistentConnectionTimeoutSeconds:120];
// 完全禁用持久鏈接
[request setShouldAttemptPersistentConnection:NO];
//強制使用HTTP 1.0
[request setUseHTTPVersionOne:YES];