Разгони свой сайт - [5]

Шрифт
Интервал

Подробнее о кэшировании рассказывается в третьей главе.

Меньше запросов — легче серверу

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

Наряду с объединением текстовых файлов не стоит пренебрегать и объединением картинок. Если учитывать, что современные браузеры могут устанавливать несколько десятков одновременных соединений с сервером для получения статических файлов (и 80% из них — это именно картинки), то экономия от использования CSS Sprites, Image Map или data:URI подхода рассчитывается очень просто. В некоторых случаях удается уменьшить число соединений браузера с сервером для загрузки одной HTML-страницы в 8-10 раз.

Объединение файлов рассматривается в четвертой главе.

Архивировать и кэшировать на сервере

Как показали проведенные исследования, gzip-сжатие текстового файла «на лету» в 95–98% случаев позволяет сократить время на передачу файла браузеру. Если хранить архивированные копии файлов на сервере (в памяти proxy-сервера или просто на диске), то соединение в общем случае удается освободить в 3-4 раза быстрее.

В случае высоконагруженных серверов с динамическими HTML-файлами gzip также может быть применим. Здесь стоит ориентироваться на минимальную степень сжатия, ибо процессорные издержки при этом растут линейно, а размер уменьшается лишь логарифмически.

О сжатии рассказывает следующая глава.

Кто у кого на службе?

После проведенного обзора технологий может показаться, что клиентская оптимизация является лишь составляющей частью серверной. Однако это не так: при построении высокопроизводительных веб-приложений должен присутствовать и клиентский, и серверный подход. В этом случае можно говорить о пересекающейся области ответственности, но никак не о превалировании одной логики над другой.

Когда дело доходит до взаимодействия «клиент-сервер», нужно помнить обо всех аспектах оптимизации. И у клиентской составляющей есть своя, выделенная область ответственности. Она находится в окне браузера — это веб-страница, которая загружается у пользователя и с которой он взаимодействует.

1.5. Применение в разработке приложений

Пользователи обычно не знают, какие подходы применяются при разработке, как настроен сервер, какие клиентские и серверные средства разработки используются. Для них лишь важно, насколько сайт полезный, удобный и быстрый. Задача же веб-разработчиков заключается в том, чтобы не доставлять пользователю лишних неудобств, радовать его и тем самым стимулировать продажи, идущие через сайт, или число рекламных показов и кликов по ним.
Ниже рассказывается, как можно организовать создание веб-приложения, ориентируясь на самые важные аспекты клиентской оптимизации.

Этап 1: Доставка информации и оформления

На этом этапе разработчики должны сделать все возможное, чтобы не замедлить скорость загрузки страницы. Фактически идет речь об ускорении первой стадии загрузки. Наиболее важными методами здесь является сжатие (gzip) текстовых файлов и объединение файлов стилей (CSS). Для CSS- и JavaScript-файлов возможно применять статическое архивирование (без необходимости архивировать каждый раз эти файлы «на лету»; этому посвящена вторая глава).
При загрузке страницы браузер запросит все CSS-файлы, объявленные в head страницы, последовательно. Поэтому каждый файл добавляет задержку в загрузке, равную времени запроса к серверу (даже если предположить, что устанавливаемое соединение keep-alive и нам не нужно совершать все TCP/IP-процедуры, — в противном случае мы экономим гораздо больше). Для файлов скриптов рекомендуется применить либо также объединение, либо вообще вынести их в пост-загрузку (подробнее об этом рассказано в седьмой главе).
Итог первого этапа — это доставленный и оформленный HTML. И издержки на доставку JavaScript сведены к минимуму (на этом этапе он только мешает, поскольку замедляет отображение основного содержимого страницы). Время от начала до завершения загрузки такой страницы при включенном и выключенном JavaScript (при вынесении его в пост-загрузку) фактически будет одинаковым. Это и будет выигрышем в скорости загрузки!

Этап 2: Кэширование файлов оформления и параллельные запросы

На данном этапе разработчики должны обеспечить быструю загрузку других страниц сайта (если посетитель решит туда перейти). Этот этап должен проходить параллельно с первым. Настройка кэширующих заголовков достаточно тривиальна. Несколько сложнее наладить процесс разработки для своевременного сброса кэша. Все эти вопросы раскрываются в третьей главе.
Одно или несколько дополнительных зеркал для выдачи статических ресурсов легко настраиваются в конфигурации, однако внедрить это в схему публикации изменений гораздо сложнее. Обычно это делают уже после разработки макетов страниц. Число дополнительных хостов следует напрямую из числа статических файлов (обычно картинок), поэтому надо определиться с ними на этапе автоматизации процесса публикации. О параллельных запросах рассказывается в пятой главе.

Рекомендуем почитать
Продающие сайты от А до Я

По статистике у каждого второго пользователя сети Интернет есть свой сайт или страница в соцсетях. И все владельцы таких сайтов делятся на две категории – тех, кто зарабатывает с помощью своего сайта, и тех, кто не зарабатывает или даже теряет свои деньги. Вы можете создать прекрасный сайт, можете им гордиться, можете рассказывать, что ваша компания существует на рынке уже двадцать лет… Но парадокс в том, что вы должны создать сайт не для себя, а для своих клиентов, иначе не сможете убедить посетителя сайта купить товар или услугу именно у вас.Мы поможем вам создать продающий сайт – реального менеджера-продавца, круглосуточно продающего ваши товары и услуги, который привлечет бесплатных посетителей на ваш сайт и увеличит базу потенциальных клиентов, создаст продающий контент и автоматические воронки продаж, внедрит системы оплаты, приема и перевода платежей.


Ноутбук для ваших любимых родителей

Как включить ноутбук? Как его зарядить? С чего вообще начать? Зачем на клавиатуре столько кнопок? На какие нужно нажимать и в каком порядке, чтобы заработало/выключилось/включилось/открылось?..Эти и другие вопросы возникают у человека, никогда раньше не работавшего на ноутбуке. Но окружающим кажется, что включить ноутбук и начать с ним работать – это настолько элементарно, что и говорить не о чем. А многим людям терпеливое и толковое объяснение – нужно! Без четкого понимания, казалось бы, элементарных действий им сложно начать общение с ноутбуком.Эта книга все меняет! Потому что автор понимает тех, кто впервые начал общение с компьютерной техникой.


Продажи через интернет без воды

Эта книга-шпаргалка для всех рекламщиков и маркетологов на все времена. Основанная на многолетних исследованиях и практическом опыте. Данная книга помогла бесчисленному количеству людей увеличить продажи товаров и услуг, а также оптимизировать рекламный бюджет. В книге вы найдете более 1000 практических советов и рекламных инструментов. После прочтения этой книги: – вы окончательно разберетесь в типах сайтов, их преимуществах и недостатках; – будете иметь огромный список шаблонов продающих заголовков; получите рекомендации касательно написания текстов; – определитесь, какие рекламные инструменты стоит применять в каждой нише.


Социальные сети без страха для тех, кому за...

Чем полезен Интернет пожилому человеку? Прежде всего, неограниченными возможностями общения. Вы можете вести виртуальный дневник или общаться с друзьями в социальных сетях, делиться советами на форумах или переписываться с родственниками, живущими за рубежом, находить старых друзей и заводить новых.Книга поможет вам ориентироваться в мире социальных сетей и интерактивных сервисов, научит вас работать с ними и использовать все те возможности, которые они предоставляют. Материал книги изложен в доступной форме, что облегчает его восприятие, а различные способы выполнения тех или иных действий дадут вам возможность выбрать наиболее удобный способ именно для вас.


Дизайн-мышление: от разработки новых продуктов до проектирования бизнес-моделей

Методы и технологии, которые использует профессиональный дизайнер для создания предметов, могут быть очень успешно использованы для решения бизнес-задач, стоящих перед руководителями компаний. И это не только разработка нового продукта. Дизайн-мышление эффективно помогает переосмыслить суть бизнеса, лучше понять потребности клиентов, найти уникальную и прибыльную нишу для стартапа и даже реализовать благотворительный проект.Тим Браун, глава одной из самых успешных дизайн-компаний мира, делится своей концепцией дизайн-мышления и на многочисленных примерах доказывает ее эффективность.Все права защищены.Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.Правовую поддержку издательства обеспечивает юридическая фирма «Вегас-Лекс»VEGAS LEX.


Противодействие черному PR в Интернете

Черный PR сегодня активно перемещается в Интернет. В свое время кольт сделал людей равными. Сегодня Интернет уравнял финансово сильных и слабых в медиапространстве. Глобальная сеть позволяет рядовому человеку разорить могущественную корпорацию. Маленькая компания может эффективно противостоять транснациональному монстру, не располагая никакими финансами. Умение отражать информационные атаки стало на редкость насущной проблемой для любого бизнеса.В этой книге показаны все необходимые для отражения информационного нападения в Интернет инструменты и раскрыты секреты их применения.