Правильне використання Content-Encoding


9

Я чув, що пропонується, що використання параметра Content-Encoding сторінки на zip або gzip зменшить час завантаження і зменшить пропускну здатність. Чи варто це впроваджувати для середнього сайту або лише сайтів з високим навантаженням? Крім того, як можна налаштувати сторінки, які таким чином подаються в середовищі LAMP? Чи є практична різниця між zip та gzip?


Я думаю: zip = deflate
Оскар Ског

Відповіді:


6

Це абсолютно варто зробити навіть для сайтів із середнім та низьким рівнем трафіку. Хоча це зменшить вашу пропускну здатність (з невеликим збільшенням використання процесора), реальна користь для ваших користувачів. Навіть на широкосмуговому режимі ви можете помітити поліпшення продуктивності при доступі до стислих сторінок, але ваші користувачі на менших швидкостях мережі та новіших смартфонах дійсно оцінять це.


2

Веб-переглядач може надіслати заголовок "Прийняти кодування", де зазначено, що він може приймати різні види кодування. Зазвичай це "gzip, deflate". (У Google Chrome є формат weirdo під назвою "sdch", який ви можете просто проігнорувати.) Потім, якщо ви отримаєте цей заголовок із браузера, ви можете, за бажанням, відправити вміст назад стислим, використовуючи або формат gzip, або дефлятор. Зробивши це, звичайно, потрібно повідомити веб-переглядачу, що ви зробили, тому ви додасте заголовок "Кодування вмісту" до вихідних матеріалів.

Формати gzip та deflate визначені в RFC (документи зі стандартів Інтернету). Немає параметра "zip", хоча в деяких браузерах може бути варіант "bzip2".

Тепер ваша проблема полягає в кодуванні ваших речей у такому форматі та надсиланні їх назад. Якщо ви використовуєте Apache, існують способи налаштувати це автоматично (mod_deflate тощо). Якщо ви надсилаєте зображення, то зауважте, що більшість форматів зображень, таких як JPEG, PNG, GIF тощо, вже стиснуті, тому ви не отримаєте жодної користі від їх стиснення. В основному він працює лише для HTML, CSS, звичайного тексту чи JavaScript.

Вам потрібно бути обережним, використовуючи кодування "спуску", оскільки Internet Explorer має давню помилку, де вона не дуже добре розуміє це. Я вірю, що модні речі, такі як Google App Engine, автоматично розробити компресію і застосувати її для вас.


1

Щоб поширитись на відповіді Джейсона Береза та Кінопікоса : ще одна все більш важлива причина, чому ви абсолютно хочете застосувати цю (дуже просту) оптимізацію, - це оголошення Google, щоб використовувати швидкість сайту в рейтингу веб-пошуку станом на 09 квітня 2010 року. Ви точно не хочете пропустити про вдосконалення щодо ваших зусиль з SEO;

Після того, як ви почнете дивитись на речі з цього ракурсу, ви, швидше за все, отримаєте користь (і отримаєте задоволення від роботи) з відповідними інструментами, які дадуть вам уявлення про ефективність ваших сторінок і що ви можете зробити для цього, щоб покращити їх:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.