iOS 后台下载不遵守 httpMaximumConnectionsPerHost
iOS background download not respecting httpMaximumConnectionsPerHost
我在 iOS 14.2...
我有一个这样配置的 URLSession:
private lazy var backgroundURLSession: URLSession = {
let config = URLSessionConfiguration.background(withIdentifier: "background-download")
config.sessionSendsLaunchEvents = true
config.httpMaximumConnectionsPerHost = 2
config.timeoutIntervalForRequest = 120
return URLSession(configuration: config, delegate: self, delegateQueue: nil)
}()
我给它 100 个要下载的 URL
let downloadTask = session.downloadTask(with: offlineTile.url)
downloadTask.resume()
甚至 httpMaximumConnectionsPerHost = 2
服务器一次获得所有请求...?!?
我做错了什么
请注意:我们在后台有一个 Varnish 缓存...并且注意到如果 Varnish 设置为管道(无缓存),行为会有所不同
在我们的例子中,是我们服务器的负载平衡器没有正确地终止它的 https,这导致 iOS 基本上一次发送所有请求。
我在 iOS 14.2... 我有一个这样配置的 URLSession:
private lazy var backgroundURLSession: URLSession = {
let config = URLSessionConfiguration.background(withIdentifier: "background-download")
config.sessionSendsLaunchEvents = true
config.httpMaximumConnectionsPerHost = 2
config.timeoutIntervalForRequest = 120
return URLSession(configuration: config, delegate: self, delegateQueue: nil)
}()
我给它 100 个要下载的 URL
let downloadTask = session.downloadTask(with: offlineTile.url)
downloadTask.resume()
甚至 httpMaximumConnectionsPerHost = 2
服务器一次获得所有请求...?!?
我做错了什么
请注意:我们在后台有一个 Varnish 缓存...并且注意到如果 Varnish 设置为管道(无缓存),行为会有所不同
在我们的例子中,是我们服务器的负载平衡器没有正确地终止它的 https,这导致 iOS 基本上一次发送所有请求。