Почти все современные сайты используют сжатие gzip. Это хорошо, но тогда Content-Length содержит размер сжатого содержимого. В принципе, всё правильно, но как бы нам узнать оригинальный размер до того, как мы всё скачаем и подсчитаем сами?
Для этого нам придётся перед оригинальным запросом, например запросом на скачивание файла, отправить ещё один запрос HTTP HEAD, при этом, чтобы получить в Content-Length размер исходного содержимого или скачиваемого файла, нам нужно обязательно передать:
1 |
Accept-Encoding: identity |
Это укажет, что в этом запросе мы не поддерживаем сжатие, и тогда в заголовках ответа мы получим правильный Content-Length до сжатия.