ios - 在 HTTPS 主机的情况下创建多个 NSURLSession 对象

标签 ios security ssl https nsurlsession

我想知道创建多个 NSURLSession 是否好连接到 HTTPS 主机时的对象?我问这个的原因是因为我应该在初始 TLS 握手期间评估服务器证书(服务器接受没有证书的客户端),我要做的地方是 NSURLSessionDelegateURLSession: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/

相关文章:

ios - UITextView 文本空间在调整大小时变小

ios - 具有相同 URL Scheme 的多个应用程序 - iOS

ios - 未触发 commitEditingStyle

security - 允许应用程序/八位字节流类型的文件上传是否有安全隐患?

firefox - SSL : sec_error_unknown_issuer

java - 没有 JKS 的嵌入式 Jetty 上的 TLS

iOS13 UISearchController 不跟随下拉

security - 我们可以使用sonarQube 来完全替代自定义构建的安全测试场景吗?

C++ SSL 虚拟主机

.net - 在所有连接上将 ServicePointManager.SecurityProtocol 强制为 TLS 1.2