@frommysience

Каким образом можно запросить только заголовки URL?

Здравствуйте. В iOS разработке без году неделя, поэтому возникла следующая проблема.
На сервере N имеется .mlmodel размером примерно 100MB, которая должна загружаться только при первом запуске определенного функционала в приложении (просто добавлять 100мб в таргеты ради функции, которая не факт, что будет использоваться - такое себе занятие, да и при хранении модели на сервере легче её обновлять - пользователю не придется обновлять приложение, чтобы получить доступ к новым возможностям модели, а приложение лишь загрузит обновленную модель с сервера).
Соответственно, перед началом процесса загрузки мне хотелось бы получить заголовки с адреса myserver.example/path/to/model/model.mlmodel - Content-Length, к примеру, чтобы сравнивать с имеющейся моделью и, исходя из этого, начинать процесс загрузки или обновления модели.
Поддерживает ли Alamofire получение лишь заголовков страницы БЕЗ загрузки самого тела ответа (т.е. самой "страницы"-файла с таким размером)?

UPD
На данный момент, пришло в голову использовать .progress у .request и при загрузке первого байта сравнивать с totalbytes размер модели, если размер совпал - вызывать из .progress .cancel самого запроса. Стоит ли так делать?
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
doublench21
@doublench21 Куратор тега Swift
Ну вообще говоря для того, что бы получить лишь заголовки ответа сервера, достаточно сказать самому серверу, что бы он отдал только заголовки. Для этой цели существует Head запрос(не Post с Get едины)

И да, Alamofire такие очевидные штуки тоже умеет.
public enum HTTPMethod: String {
    case options = "OPTIONS"
    case get     = "GET"
    case head    = "HEAD"
    case post    = "POST"
    case put     = "PUT"
    case patch   = "PATCH"
    case delete  = "DELETE"
    case trace   = "TRACE"
    case connect = "CONNECT"
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы