CSS и JS при генерации страницы

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
metal
Сообщения: 12
Зарегистрирован: 2010.11.08, 05:48

CSS и JS при генерации страницы

Сообщение metal »

Возник такой вопрос. Что лучше по производительности: включать содержимое файлов css и js в генерируемую страницу или же создавать ссылки на эти файлы? Ведь при обращении к каждому отдельному файлу порождается отдельный запрос, что отрицательно сказывается на производительность, но и с другой стороны включение файлом в вывод увеличить время генерации страницы, хотя чтение этих файлом будет происходить в любом случае. Возможно я сам и ответил на данный вопрос, а подтвердить это поможет лишь практика. Но прежде чем это делать, хотелось бы поинтересоваться у профессионалов.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: CSS и JS при генерации страницы

Сообщение samdark »

Следует учесть, что внешние CSS и JS кешируются.
Аватара пользователя
alien
Сообщения: 11
Зарегистрирован: 2010.11.17, 10:31
Откуда: Ростов-на-Дону
Контактная информация:

Re: CSS и JS при генерации страницы

Сообщение alien »

Конечно, нужно смотреть по ситуации.
Вообще, тема клиентской оптимизации широка, но попробую ответить на ваш вопрос, выразить свое мнение.
Стараюсь, чтобы кол-во js/css файлов, подключаемых на страницу было не более 3х, лучший вариант - объединить их все и минимизировать(не упаковывать, а именно минимизировать).
Насчет подключений на каждый js/css файл - да, но если есть возможность - такую статику вынести на отдельный поддомен, что распараллелит загрузку.
и по теме того, "подключать" или "включать". Посмотрите на код главной Яндекса. Мы видим, что css и js прям в html коде. Как я понимаю, для часто (очень!) запрашиваемых и небольших страниц это выгоднее, чем подключать их отдельно. Подозреваю, что на примере Яндекса это сделано и из-за того, что кеширование там мало эффективно - кол-во новых посетителей,зашедших в-первый раз - подавляющее.
В общем, пробуйте, тестируйте.
Изображение
Аватара пользователя
metal
Сообщения: 12
Зарегистрирован: 2010.11.08, 05:48

Re: CSS и JS при генерации страницы

Сообщение metal »

Спасибо за Ваши ответы. Действительно, стоит решать от ситуации, а конкретно от целевой аудитории. Если это постоянно одни и те же пользователи, то не стоит "заморачиваться", а просто надеяться на кэширование на стороне клиента, при этом даже лучше держать именно эти файлы отдельно, что уменьшит (хоть и на килобайты) размер генерированной страницы. А если же посетители в большинстве случаев "новые", то можно и "включить" файлы в содержание страницы
Аватара пользователя
alien
Сообщения: 11
Зарегистрирован: 2010.11.17, 10:31
Откуда: Ростов-на-Дону
Контактная информация:

Re: CSS и JS при генерации страницы

Сообщение alien »

Кстати, хочу посоветовать 2 интересные книжки по клиентской оптимизации :) Почти дочитал обе.
http://speedupyourwebsite.ru/books/spee ... r-website/
и
http://speedupyourwebsite.ru/books/reactive-websites/
Изображение
Аватара пользователя
metal
Сообщения: 12
Зарегистрирован: 2010.11.08, 05:48

Re: CSS и JS при генерации страницы

Сообщение metal »

alien писал(а):Кстати, хочу посоветовать 2 интересные книжки по клиентской оптимизации :) Почти дочитал обе.
http://speedupyourwebsite.ru/books/spee ... r-website/
и
http://speedupyourwebsite.ru/books/reactive-websites/
Спасибо большущее, эти книги стоит почитать
Аватара пользователя
metal
Сообщения: 12
Зарегистрирован: 2010.11.08, 05:48

Re: CSS и JS при генерации страницы

Сообщение metal »

С недавнего времени всерьез взялся за изучение поисковой оптимизации, так что в дополнение напишу:
Включение в один файл всего действительно не лучший вариант, так как создает лишние проблемы для поисковых роботов, которые просто игнорируют css и js-скрипты. Включение в генерируемую страницу данных файлов лишь увеличит время индексирование сайта, и если сайт большой, то уменьшается вероятность пройти роботу весь сайт за раз или хотя бы наибольшее возможное количество страниц
Аватара пользователя
alexzv
Сообщения: 120
Зарегистрирован: 2010.04.23, 00:10
Откуда: Украина, Киев

Re: CSS и JS при генерации страницы

Сообщение alexzv »

Предпочитаю использовать небольшие CSS и JS файлы разделенные по смыслу - так намного проще разрабатывать и поддерживать код. Тем более что при публикации на веб-сервер всегда можно их объединить и минимизировать (обычно даже в автоматическом режиме). Да и производительность веб-сайта редко упирается в размер и колличество файлов стилей и скриптов - достаточно других "узких" мест, например та же БД (конечно я не говорю про такие ресурсы как Google и Yandex, они там за каждую миллисекунду боряться ) :)
Ответить