Браузер может отправить заголовок «Accept Encoding», в котором говорится, что он может принимать различные виды кодирования. Обычно это "gzip, deflate". (У Google Chrome есть странный формат, называемый «sdch», который вы можете просто проигнорировать.) Затем, если вы получите этот заголовок из браузера, вы можете, если хотите, отправить обратно сжатый контент, используя формат gzip или deflate. Когда вы сделаете это, вам, конечно, нужно сообщить браузеру, что вы сделали, поэтому вы добавляете заголовок «Content Encoding» к своим исходящим материалам.
Оба формата gzip и deflate определены в RFC (документы по стандартам Интернета). Опция «zip» отсутствует, хотя в некоторых браузерах может быть опция «bzip2».
Теперь ваша проблема - закодировать ваши материалы в этом формате и отправить их обратно. Если вы используете Apache, есть способы настроить его на автоматическое выполнение (mod_deflate и т. Д.). Если вы отправляете изображения, обратите внимание, что большинство форматов изображений, таких как JPEG, PNG, GIF и т. Д., Уже сжаты, поэтому вы не получите никакой выгоды от их сжатия. В основном это работает только для HTML, CSS, простого текста или JavaScript.
Вы должны быть осторожны, используя кодировку «deflate», так как Internet Explorer имеет давнюю ошибку, которая не слишком хорошо понимает это. Я считаю, что такие вещи, как Google App Engine, автоматически определят, какое сжатие использовать, и примените его для вас.