NSURLCache cachedResponseForRequest получает вызов дважды - PullRequest
0 голосов
/ 13 мая 2018

В моем коде я переопределил NSURLCache cachedResponseForRequest для отправки кэшированного ответа в случае, если он уже загружен.Но по какой-то причине cachedResponseForRequest вызывается дважды.Кто-нибудь может знать причину?

Это поведение по умолчанию?

1 Ответ

0 голосов
/ 07 июля 2018

Я почти уверен, что рассматриваемый метод вызывается из двух разных частей стека NSURLSession по очень разным причинам:

  • Чтобы получить дату кэшированного ответа, чтобы он мог предоставить заголовки в запросе HEAD, спрашивающем сервер, изменилось ли содержимое с тех пор.
  • Чтобы получить фактические данные для кэшированного ответа после того, как сервер отправит обратно код состояния 304 (НЕ ИЗМЕНЕНО).
...