Приветствую!
Столкнулся с тем, что Nginx не сжимает ответ, если указывать диапазон передачи данных, т.е.
если использовать
curl --header «Range: bytes=0-5000000»
192.168.2.191/patcher/windows/1.0.0/program.exe>part1
curl --header «Range: bytes=5000001-9152512»
192.168.2.191/patcher/windows/1.0.0/program.exe>part2
то получаем 2 куска требуемого файла в несжатом виде, куски разной длины, но несжаты.
Если же к каждому запросу добавить
--header «Accept-Encoding: gzip,deflate»
то получаются 2 одинаковых куска, представляющих собой полностью сжатый файл.
В логах сервер честно говорит, что partial content не используется:
в первом случае:
192.168.2.191 — - [01/Apr/2013:12:07:40 +0300] «GET /patcher/windows/1.0.0/program.exe HTTP/1.1» 206 5000001 "-" «curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6»
192.168.2.191 — - [01/Apr/2013:12:07:52 +0300] «GET /patcher/windows/1.0.0/program.exe HTTP/1.1» 206 4152511 "-" «curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6»
И во втором:
192.168.2.191 — - [01/Apr/2013:12:14:37 +0300] «GET /patcher/windows/1.0.0/program.exe HTTP/1.1» 200 4167250 "-" «curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6»
192.168.2.191 — - [01/Apr/2013:12:14:52 +0300] «GET /patcher/windows/1.0.0/program.exe HTTP/1.1» 200 4167250 "-" «curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6»
Сжимать данные в случае указания диапоазонов нельзя вообще, или это я что-то пропустил в доке?
Заранее спасибо.