在HTTPS主机

时间:2016-07-08 11:07:35

标签: ios security ssl https nsurlsession

我想知道在连接到HTTPS主机时创建多个NSURLSession对象是否合适?我之所以这样问是因为我应该在初始TLS握手期间评估服务器证书(服务器接受没有证书的客户端),我要去的地方是NSURLSessionDelegate&# 39; s URLSession:didReceiveChallenge:completionHandler:

但这意味着我应该创建一些实现此方法的基类,并在将它们用于URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:之类的其他方法时从中派生所有未来的委托。

此外,它会产生一些问题,URLSession:didReceiveChallenge:completionHandler:将为每个NSURLSession调用{i}},这会产生额外的开销。至于HTTP / 1.1 Connection: keep-alive应该是默认行为,并且(理想情况下)新创建的NSURLSession应该使用来自某些连接池的连接。

1 个答案:

答案 0 :(得分:0)

我在this技术问答&答案中找到了我的问题的答案:

  

由于NSURLSession维护了自己的TLS会话缓存...

所以,如果每次执行连接时都不想进行TLS握手,我认为保留一个NSURLSession会更好。