Есть ли способ определить, является ли страница сжатой или нет? - PullRequest
0 голосов
/ 29 июля 2010

Я пишу скрипт, который может определить, сжата страница или нет, и я провел небольшое исследование и не могу понять, как определить, сжата ли страница. Я бы предположил, что сжатая страница будет иметь что-то в заголовках, чтобы сказать, что это сжатый файл. Как Content-Type или что-то.

Любая помощь приветствуется.

Ответы [ 4 ]

2 голосов
/ 29 июля 2010

Это на самом деле Content-encoding.В зависимости от типа сжатия это может быть gzip (или x-gzip), deflate или compress в случае сжатых данных.

Для цитирования wikipedia :

Заголовки «Content-Encoding» / «Accept-Encoding» и «Transfer-Encoding» / «TE» в HTTP / 1.1 позволяют клиентам по желанию получать сжатые ответы HTTP и (реже) отправлятьсжатые запросы.Спецификация для HTTP / 1.1 (RFC 2616) определяет три метода сжатия: «gzip» (RFC 1952; содержимое, упакованное в поток gzip), «deflate» (RFC 1950; содержимое, упакованное в поток в формате zlib), и«сжимать» (объяснено в разделе 3.5 RFC 2616 как «Формат кодирования, создаваемый общей программой сжатия файлов UNIX« сжимать ». Этот формат является адаптивным кодированием Лемпеля-Зива-Уэлча (LZW).»).Многие клиентские библиотеки, браузеры и серверные платформы (включая Apache и Microsoft IIS) поддерживают gzip.

0 голосов
/ 29 июля 2010

Это веб-браузер, который может видеть, сжата страница или нет.В качестве веб-сервера Apache находит Accept-Encoding: gzip,deflate в заголовке HTTP-запроса.Если он присутствует, он сжимает HTML-ответ PHP-скрипта и соответственно выполняет сжатие.

Ref: http://www.websiteoptimization.com/speed/tweak/compress/

0 голосов
/ 29 июля 2010

Выполните http-запрос с принятием gzip, затем проанализируйте полученные заголовки и найдите Content-Encoding: gzip

0 голосов
/ 29 июля 2010

Сжатая страница будет иметь заголовок Content-Encoding с алгоритмом сжатия.

Например:

Кодировка содержимого: gzip

...