Назад | Перейти на главную страницу

Почему на многих веб-серверах по умолчанию не включены такие функции, как gzip?

Поиграв с несколькими веб-серверами в Интернете, я видел такие вещи, как goDaddy, не включающие gzip по умолчанию. То же самое с несколькими удалениями IIS, установками apache по умолчанию и т. Д.

Я продолжаю работать с серверами, на которых по умолчанию не включены базовые функции, повышающие скорость вашего сайта.

Это приводит меня к двум вариантам: каждый, кто делает пакеты в Интернете, плохо сохраняет его, или я просто не понимаю, почему они это сделали. Гораздо более вероятно, что я не знаю, почему они этого не делают.

Может ли кто-нибудь объяснить мне, почему вы отправляете веб-серверы с отключенными функциями, такими как gzip, и различными заголовками управления кешем?

Я думал, что в результате этого стали более быстрые веб-сайты, о чем мне все время говорят ySlow и PageSpeed. Какие есть недостатки?

"ресурсы" - требуется оперативная память и процессор, чтобы сжимать ваш контент на лету ... очень немного, но ресурсов, тем не менее, на одном или двух сайтах это тривиально, но на 1000 или более ... все может быть напуганным. Также - комментарий Falcon действителен - производители действительно хотят использовать отказоустойчивую конфигурацию «голых костей» по умолчанию.

-шон

ОБНОВИТЬ: Я также забыл: дополнительное время выполнения каждого запроса для фактического сжатия - есть дополнительная память, используемая в первую очередь для загрузки mod_deflate [deflate_module], поэтому обычно каждый процесс становится немного толще и немного медленнее . ~ Как я уже сказал, в целом тривиально, но если вам не хватает ресурсов для начала ....

Одной из причин может быть совместимость с IE6. Хотя IE6 поддерживает gzip, он поддерживает сжатый размер только до 65535 байт.

Если ваша страница больше этого размера, остальные будут обрезаны без объяснения причин. Но вот забавная часть: это происходит только в том случае, если страница была загружена из файлового кеша, а не если она получена по сети, что затрудняет отладку всего беспорядка.

Это можно обойти, обработав заголовки запроса, но иногда может быть прозрачный прокси с использованием IE6, например. вирусное программное обеспечение. Прокси-сервер не изменяет ни один заголовок User-Agent, так что вам в значительной степени не повезло. Хорошо, что IE6 практически искоренен.

Не уверен, были ли затронуты все версии или только некоторые, но вышесказанное было причиной того, что веб-сайт, над которым я работаю, долгое время отключал gzip.

Вы можете подумать, что это потому, что GZip поддерживается не всеми браузерами. Это объяснение неверно: сервер может быть обратно совместим на основе Accept-Encoding заголовок запроса, который указывает, может ли браузер принимать содержимое, сжатое GZip.

Возможное объяснение - нет необходимости все сжимать. Зачем вам сжимать ZIP-файл или изображение в формате JPEG? В лучшем случае размер будет таким же. В худшем - станет больше.

Другой фактор - производительность на стороне сервера. Лучше позволить разработчику включить сжатие, когда этот разработчик знает о влиянии на ЦП, а также о плюсах и минусах ZGip для конкретного контента.

Думаю, это из соображений совместимости. Некоторые клиенты не могут распаковать его, а в некоторых редких случаях это может нарушить функциональность на стороне сервера. Поставщикам, вероятно, нужна отказоустойчивая конфигурация по умолчанию.

Чем меньше инструкций требуется веб-серверу для выполнения, тем больше запросов он может обслужить.

Сжатие gzip требует выполнения инструкций, поэтому оно замедляет его. Если хотите, можете включить.

Мой ответ может быть глупым и спорным, но можете ли вы представить, сколько доходов упустят такие компании, как Amazon, если HTTP-сжатие будет включено по умолчанию? Трафик составляет значительную часть ежемесячного счета, и все эти успокаивающие API переносят тонны данных.