Ожидаемая длина содержимого устанавливается только тогда, когда сервер предоставляет ее, например, с помощью заголовка ответа Content-Length. Размер -1 означает, что ожидаемый размер содержимого неизвестен.
Если вы установите Accept-Encoding: gzip
в своем запросе, система загрузки URL-адресов выдаст ошибку и сообщит вам, что ожидаемый размер равен -1, независимо от того, какой Content-Length отправляет сервер. Это происходит потому, что он распаковывает данные перед их передачей вам, но не может знать окончательный размер несжатого файла до тех пор, пока все данные не будут загружены, что происходит после того, как вы получите этот обратный вызов.