31.01.2008, 11:35 | #1 | ||||
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
Убыстрение загрузки JS и CSS файлов.
Незнаю знаете вы или не знаете, но
1.Пока не загрузятся стили - страница отображаться не будет 2.Пока не загрузиться(и не выполниться) скрипт который вы инклюдите - дальше страница отображаться не будет 3.Из пункта 2 следует что в один момент времени грузиться( и исполняется) только один скрипт. *Но в зависимости от написания второй скрипт тоже может грузиться(но не исполняться) одновременно с первым.. но 4.Один браузер в один момент времени держит только два(или четыре?) соединения с одним хостом. Тоесть в среднем за загрузку 6ти скриптом браузер сделает 6 запросов к серверу один за другим. К картинкам это в общем плане не относиться, мозила вроде 4 картинки одновременно тащит. НО НЕ БОЛЕЕ! Получается что стандартная страница с 1. один файл css 2. один файл js 3. пара файлов js фреймворка ( А ПРЕДСТАВИМ ЧТО ЭТО ПРОТОТИП! С АСУЛОУСОМ!) ждет в среднем 1-2 секунды на "fetch" этих файлов. И только потом прорисовывается. Да половина загрузок выглядит аки "If-Match || If-Modifited" и обрабатывается относительно быстро Часть файлов вообще не запрашивается ( встроенный Min-Max Age ) А всеми нелюбимый IE вообще любит не спрашивать даже если надо ( и сидит как дурак со старыми версиями ) В общем это была вступительная статейка, чтобы люди прониклись.. Итак для решения этих проблем ( которые до меня дошли после прочтения http://habrahabr.ru/blog/AJAX/16489.html ) я взял описанный в статье скриптик и малек его перешурстил сам скриптик Итак скриптик может как вариант работать также как и оригинал добавляем в .htaccess Цитата:
И.. получаем только минимизированые jsminом скрипты, сжатые вместе и отданные вам в суппортед кодировке. Или.. ( вот оно нововведение ) В вашем HEADER( который генериться с помошью php ) пишем Цитата:
Цитата:
и все за ОДИН запрос) и получаем некое ИМЯ. которое меняется при изменении файлов( те уникально для набора файлов и времени их изменения ( а вообще это простой E-Tag )) и файло этот Expires гдето через год. При обращении к файлу он выбирает лучший вариант сжатия и отдает вам. (требуется добавить в .htaccess) Цитата:
Ну и последний "бест" вариант это использовать заместо combine_makeref функцию combine_staticref она на этапе выдачи хидера определит вариант сжатия и даст статическую линку на файло.. Отдавайте его гниксами и другими приблудами без вызова php кода лишний раз.. Ух, донаписался. Ну в общем жду каментов
__________________
И как всегда это все ScanLog записывает |
||||
31.01.2008, 11:42 | #2 |
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
.. так забыл дописать
"СТРАШНАЯ СТРОКА" (размер оригинала 204 кб, размер минимизированого 133кб, размер сжатого 31кб и все за ОДИН запрос) Эта страница( вот прямо вот эта ) при полной перерисовки тянет 3 скрипта на 60кб и тратит на это полторы секунды!
__________________
И как всегда это все ScanLog записывает |
01.02.2008, 07:27 | #3 |
Злой модератор
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
|
|
01.02.2008, 07:38 | #4 | |
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
На хабре база данных упала. Посему туда на раздербанивание это не отправиш.
А что такое часть устаревших браузеров? Цитата:
Все не все не знаю. Но если один человек из тысячи залеся на сайт. С интернет эксплорер 4.0 Да он и так ничего нормального не увидит, в своем разрешении 640х480 это так сарказм. УБИВАТЬ НАДО ТАКИХ юзвероЛЮДЕЙ. И ФАЕР ИМ НАСИЛЬНО СТАВИТЬ.. ВСЕМ!!.МУхахаха-ахаха-аха
__________________
И как всегда это все ScanLog записывает |
|
01.02.2008, 08:03 | #5 |
Злой модератор
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
|
Да и фиг бы с этими старыми браузерами. Непонятно как поведут себя в таких случаях
Код:
Nokia6230i/2.0 (03.25) Profile/MIDP-2.0 Configuration/CLDC-1.1 SonyEricssonT610/R501 Profile/MIDP-1.0 Configuration/CLDC-1.0 |
01.02.2008, 11:21 | #6 |
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
SEW610 кушает
А вообще у меня на сайте при загрузке страницы идет Ajax.Request двух скрипт файликов. По разному упакованных. И по факту их работы я выношу суждение о поддержке сжатия.
__________________
И как всегда это все ScanLog записывает |
02.02.2008, 08:19 | #8 |
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
1.Его можно настроить на опционое сжатие?
2.Он выставляет Expires на парулет "туда"? 3.Он сливает однотипные файлы вместе и делает им "min"?
__________________
И как всегда это все ScanLog записывает |
02.02.2008, 12:56 | #9 | |
Эксперт
Регистрация: 18.06.2007
Адрес: Картофель
Сообщений: 2,417
Вес репутации: 356
|
Цитата:
2. А зачем на пару лет туда? - вы что пару лет не будете обновлять эти файлы? (на худой конец есть же E-Tag, который более корректен и надежен в данном случае) 3. Что мешает вам ручками объединить все .js и .css файлы? вообще зачем такие заморочки? - достаточно всего одного удаленного .js (например от РСЯ), чтобы испортить всю "скорость" загрузки |
|
02.02.2008, 13:33 | #10 |
Специалист
Регистрация: 02.07.2007
Сообщений: 453
Вес репутации: 217
|
РСЯ можно и в конце грузить
>2.зачем на пару лет туда? - вы что пару лет не будете обновлять эти файлы Вы не читали что я написал - имя файла и есть частью E-Tag и при обновлении набора файлов( или самих файлов) меняется. В вашем же случаю ВСЕГДА(ну ладно - часто, точнее это к тупому ИЕ не относиться) будет проверяться апдейт файлов.. Быстро конечно но зачем?
__________________
И как всегда это все ScanLog записывает |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна прога для обновления файлов на FTP | borodun | Разработка и сопровождение сайтов | 16 | 19.06.2008 10:16 |
Проблема с закачкой файлов с торрентов | Psihadelic | Курилка | 5 | 15.06.2008 20:15 |
Часовой пояс GMT +3, время: 20:37.