Решил прикрутить к AnyEvent::HTTP Accept-Encoding и к LWP в response_data handler, но перед этим выяснить какой процент серверов понимает gzip и deflate.
deflate кодирование реализовано в серверах двумя способами и поэтому авторы nginx отказались от его реализации и используют только gzip
(http://sysoev.ru/mod_deflate/readme.html#mehtods).
Под рукой оказался файл с 53587 доменами со следующим распределением по зонам:
Для каждого домена запрашивал HTTP содержимое с указанием "Accept-Encoding" в трех различных вариантах: "gzip, deflate" (приоритет gzip), "deflate, gzip" (приоретет deflate) и "deflate". Результаты как закодировал ответ сервер представлены в нижеприведенной таблице (прочерк означает, что сервер вернул не закодированное содержимое):
Как видим, можно ограничиться поддержкой лишь одного gzip.
Заодно узнал популярность серверов:
deflate кодирование реализовано в серверах двумя способами и поэтому авторы nginx отказались от его реализации и используют только gzip
(http://sysoev.ru/mod_deflate/readme.html#mehtods).
Под рукой оказался файл с 53587 доменами со следующим распределением по зонам:
29244 com 1000 de 627 it 3102 org 935 info 553 ca 2786 uk 861 nl 504 si 2734 net 853 au 467 fr 1315 ru 682 br 368 ua
Для каждого домена запрашивал HTTP содержимое с указанием "Accept-Encoding" в трех различных вариантах: "gzip, deflate" (приоритет gzip), "deflate, gzip" (приоретет deflate) и "deflate". Результаты как закодировал ответ сервер представлены в нижеприведенной таблице (прочерк означает, что сервер вернул не закодированное содержимое):
| "gzip, deflate" | "deflate, gzip" | "deflate" ------------|-----------------|-----------------|---------- - | 22888 | 22764 | 50462 gzip | 30612 | 30442 | 145 deflate | 67 | 361 | 2959 iso-8859-1 | 1 | 1 | 1 none | 16 | 16 | 16 none; | 1 | 1 | 1 UTF-8 | 2 | 2 | 2
Как видим, можно ограничиться поддержкой лишь одного gzip.
Заодно узнал популярность серверов:
Все зоны | ru зона | ua зона ------------------------|---------|-------- Apache 27327 | 978 | 443 nginx 6924 | 922 | 332 Microsoft-IIS 6886 | 323 | 148 - 6116 | 212 | 103