Почему размер моей веб-страницы в браузере вдвое меньше, чем на жестком диске?

Почему размер моей веб-страницы в браузере вдвое меньше, чем на жестком диске?

Моя веб-страница со всеми ее активами занимает 1,7 МБ на диске. И всего 700 КБ в Chrome dev tool (вкладка «Сеть»). Например, мой css размером 140 КБ теперь, по данным Google, весит всего 26 КБ. То же самое касается моего пакета js, он увеличивается с 330 КБ до 90. Кроме того, я тестировал в приватном сеансе, поэтому кэширование браузера не производилось.

Заголовки ответа, которые я вижу в Chrome:

Connection:Keep-Alive
Date:Wed, 30 Sep 2015 14:25:35 GMT
ETag:"e621f4-42c5-520f72d888210"
Keep-Alive:timeout=3, max=100
Server:Apache/2.2.16 (Debian)
Vary:Accept-Encoding

сетевая шкала времени

реальный размер

проблема с gzip

решение1

Похоже, вы не видите всего в своих инструментах разработки.

Не используйте маленькие строки запроса, иначе вы увидите ТОЛЬКО сжатый размер ваших веб-файлов.

  1. Размер сжатого файла, отправленного с сервера
  2. Ваш браузер извлек сжатый файл, и он содержит столько КБ

введите описание изображения здесь


Причина, по которой ваши изображения показывают больший размер сжатия, заключается в том, что PNG и JPG — это сжатый формат, поэтому ваш веб-сервер фактически создает ненужные накладные расходы, пытаясь повторно сжать их, и эти дополнительные накладные расходы трансформируются как в напрасную трату процессорного времени, так и в дополнительные КБ.

Если вы используете Apache и имеете к нему доступ httpd.conf, то я бы посоветовал добавить в него строку, которая выглядит примерно так:

# Не сжимайте эти изображения
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|jpg|ico|png) без gzip не изменять

Это справедливо для изображений, которые уже существенно оптимизированы и сжаты.

На моем скриншоте вы можете видеть, что 1+2 — это большие и неоптимизированные изображения, но 3.jpg уже сведен к минимуму, поэтому сжатие не помогло #3, но помогло 1+2:

введите описание изображения здесь

Связанный контент