astramak / 0byte

Automatically exported from code.google.com/p/0byte
0 stars 0 forks source link

gzip на js и css не оправдан #145

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
На welinux.ru при загрузке любой страницы 
всегда грузятся следующие 5 файлов:

new.css, main.js, right.js, login.js, ve.js и pm.js

Все они проходят через php-скрипт, который 
просто прогоняет их через gzip.

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

Теперь возьмем и пропишем их без 
скрипта-компрессора. Что мы получим?
Браузер загрузит все эти 5 скриптов и 
запихнет в кеш. Когда мы откроем
следующую страницу, он эти 5 запросов 
отправлять уже не будет вовсе - он их
закешировал и запросит только через 
определенное время, при этом отправит
на сервер дату последнего изменения этих 
файлов, а сервер отдаст их целиком
только если они с тех пор изменились, а если 
не изменились - так браузеру и
ответит.

Получается что? Получается попытка 
уменьшения трафика, которая на самом
деле оборачивается *возросшим трафиком* и 
*возросшей нагрузкой* на
процессор сервера.

Вывод: от сжимающих скриптов надо 
отказаться, без них как серверу, так и
клиентам будет гораздо легче. И 
дополнительно, если хочется, в настройках
apache/nginx прописать для таких файлов сжатие 
gzip'ом.

Original issue reported on code.google.com by igor.kalashnikov on 12 May 2010 at 11:09

GoogleCodeExporter commented 9 years ago
Да, ток скрипты меняются иногда по 
несколько раз на дню

Original comment by nvbn...@gmail.com on 13 May 2010 at 1:51

GoogleCodeExporter commented 9 years ago
Значит убрать сжатие и поставить expiration date в 
+1 час

Original comment by igor.kalashnikov on 13 May 2010 at 3:23

GoogleCodeExporter commented 9 years ago
Да и даже без expiration date в любом случае будет 
лучше чем со сжатием

Original comment by igor.kalashnikov on 13 May 2010 at 6:57

GoogleCodeExporter commented 9 years ago
fixed

Original comment by igor.kalashnikov on 17 May 2010 at 7:58