2013-06-11 2 views

ответ

4

Это просто говорит получателю, что отправитель сжал полезную нагрузку с использованием алгоритма сжатия gzip, и его необходимо будет разжать при получении. Например, сервер может сжимать очень большую страницу и отправлять ее клиенту, клиент должен будет распаковать ее, прежде чем ее можно будет обработать дальше.

Как @Evert указывает, клиент должен иметь возможность принимать gzipped данные.

Это не имеет никакого отношения к загрузке gzip-архивов, поэтому тип файла не имеет значения.

Если вы хотите указать тип загружаемого файла, это делается с заголовком Content-Type. Например:

header("Content-Type: application/gzip"); // for GZIP archive files 
header("Content-Type: application/zip"); // for ZIP archive files 

Или более обобщенно:

header("Content-Type: application/octet-stream"); // for arbitrary binary data 
+0

... но есть много способов для zip-данных, есть много форматов и программ и т. Д. ... например, поддерживаются файлы с кодировкой zip? ... zip отличается от gzip .... –

+0

Да, вы можете указать разные типы контента. Я обновил свой ответ. –

3

Все, до тех пор, пока оно gzipped. Но вы должны обслуживать такие файлы только в том случае, если клиент отправляет: Accept-Encoding: gzip

+0

Я был под впечатлением, что большинство (если не все) современные браузеры (клиенты) принять это? –

+0

Практически все браузеры будут, да. По-прежнему разумно быть надежным и совместимым с HTTP. Это означает, что вы отправляете обратно gzipped данные, когда клиент запросил его. – Evert

+0

... как я могу узнать, запросил ли клиент его со стороны сервера, есть ли параметр PHP, который я могу проверить? –

Смежные вопросы