Карточка Middle Сеть, Codable и хранение обновлено
HTTP-кеш в URLSession
Вопрос
Как URLSession кеширует ответы и как этим управлять?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Через URLCache по заголовкам Cache-Control, ETag, Last-Modified. Политика задаётся в URLRequest.cachePolicy или конфигурации сессии.
Ответ
Через URLCache по заголовкам Cache-Control, ETag, Last-Modified. Политика задаётся в URLRequest.cachePolicy или конфигурации сессии. Размер кеша в памяти и на диске настраивается.
Разбор
Если сервер не шлёт заголовки кеширования, URLSession может применять эвристику. Для офлайна API-данных надёжнее своя база.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Сеть, Codable и хранение»
- App Transport Security
- Загрузка видео в фоне
- Core Data и потоки
- Куда сохранять кеш картинок на диске
- Задача на Swift: повтор запроса с экспоненциальной задержкой
- Один битый элемент ломает весь массив
- Какое хранилище выбрать на iOS
- Отсутствующее поле при декодировании