我想知道创建多个 NSURLSession
是否好连接到 HTTPS 主机时的对象?我问这个的原因是因为我应该在初始 TLS 握手期间评估服务器证书(服务器接受没有证书的客户端),我要做的地方是 NSURLSessionDelegate
的 URLSession:didReceiveChallenge:completionHandler:
.
但这意味着我应该创建一些实现此方法的基类,并在将它们用于其他方式(如 URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:
)时从中派生所有 future 的委托(delegate)。 .
它还引起了人们对 URLSession:didReceiveChallenge:completionHandler:
的担忧每个NSURLSession
都会被调用我创建了一个额外的开销。至于 HTTP/1.1 Connection: keep-alive
应该是默认行为和(理想情况下)新创建的 NSURLSession
应该使用来自某些连接池的连接。
最佳答案
我在 this 中找到了问题的答案技术问答:
Since NSURLSession maintains it's own TLS session cache...
所以我想如果不想每次执行连接时都进行 TLS 握手,最好保留一个 NSURLSession
。
关于ios - 在 HTTPS 主机的情况下创建多个 NSURLSession 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38265173/