HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Скорость загрузки страницы напрямую связана с двумя факторами:</p>
1 <p>Скорость загрузки страницы напрямую связана с двумя факторами:</p>
2 <ul><li>Скорость соединения с интернетом</li>
2 <ul><li>Скорость соединения с интернетом</li>
3 <li>Вес страницы - то есть информации, которую нужно передать через интернет</li>
3 <li>Вес страницы - то есть информации, которую нужно передать через интернет</li>
4 </ul><p>В прошлом уроке мы разобрали, как на загрузку влияет скорость соединения с интернетом. При этом мы пока не изучали, как тестировать вес страницы и какие факторы на это влияют.</p>
4 </ul><p>В прошлом уроке мы разобрали, как на загрузку влияет скорость соединения с интернетом. При этом мы пока не изучали, как тестировать вес страницы и какие факторы на это влияют.</p>
5 <p>В этом уроке мы разберем:</p>
5 <p>В этом уроке мы разберем:</p>
6 <ul><li>Что влияет на вес страницы</li>
6 <ul><li>Что влияет на вес страницы</li>
7 <li>Что такое кеширование и как проверить его наличие</li>
7 <li>Что такое кеширование и как проверить его наличие</li>
8 <li>Зачем используется оптимизация изображений</li>
8 <li>Зачем используется оптимизация изображений</li>
9 <li>Как минификация файлов позволяет уменьшить вес страницы для пользователя</li>
9 <li>Как минификация файлов позволяет уменьшить вес страницы для пользователя</li>
10 </ul><p>Все эти факторы позитивно влияют на опыт пользователя. Ведь чем быстрее он получит доступ к странице, тем счастливее будет себя чувствовать. Если сервис слишком медленно выдает страницы, пользователь может уйти на другой сайт, даже если там будет меньше функций. Возможность быстро взаимодействовать с приложением часто выигрывает у функционала.</p>
10 </ul><p>Все эти факторы позитивно влияют на опыт пользователя. Ведь чем быстрее он получит доступ к странице, тем счастливее будет себя чувствовать. Если сервис слишком медленно выдает страницы, пользователь может уйти на другой сайт, даже если там будет меньше функций. Возможность быстро взаимодействовать с приложением часто выигрывает у функционала.</p>
11 <h2>Вес страницы</h2>
11 <h2>Вес страницы</h2>
12 <p>Под весом страницы подразумевается объем информации, который нужно передать по сети, чтобы получить возможность пользоваться страницей или приложением.</p>
12 <p>Под весом страницы подразумевается объем информации, который нужно передать по сети, чтобы получить возможность пользоваться страницей или приложением.</p>
13 <p>Обычно нужно передавать такую информацию:</p>
13 <p>Обычно нужно передавать такую информацию:</p>
14 <ul><li>HTML-разметка</li>
14 <ul><li>HTML-разметка</li>
15 <li>Файлы стилей CSS</li>
15 <li>Файлы стилей CSS</li>
16 <li>Файлы с кодом на JavaScript</li>
16 <li>Файлы с кодом на JavaScript</li>
17 <li>Изображения</li>
17 <li>Изображения</li>
18 <li>Видео, аудио, анимация и прочие медиаэлементы</li>
18 <li>Видео, аудио, анимация и прочие медиаэлементы</li>
19 </ul><p>Чтобы узнать вес у любой страницы, можно использовать "Инструменты разработчика".</p>
19 </ul><p>Чтобы узнать вес у любой страницы, можно использовать "Инструменты разработчика".</p>
20 <p>Во вкладке Network внизу указана основная информация о странице:</p>
20 <p>Во вкладке Network внизу указана основная информация о странице:</p>
21 <p>Там можно найти:</p>
21 <p>Там можно найти:</p>
22 <ul><li><strong>Общее количество запросов</strong>. Здесь указаны все запросы, которые были выполнены на странице - например, запрос к CSS-файлу, запрос к изображению и так далее</li>
22 <ul><li><strong>Общее количество запросов</strong>. Здесь указаны все запросы, которые были выполнены на странице - например, запрос к CSS-файлу, запрос к изображению и так далее</li>
23 <li><strong>Общее количество обработанных и переданных данных</strong>. В разных инструментах эти данные представлены по-разному, но всегда разделяются</li>
23 <li><strong>Общее количество обработанных и переданных данных</strong>. В разных инструментах эти данные представлены по-разному, но всегда разделяются</li>
24 <li><strong>Время, затраченное на обработку страницы</strong>. По этому показателю можно узнать, насколько долго грузится страница</li>
24 <li><strong>Время, затраченное на обработку страницы</strong>. По этому показателю можно узнать, насколько долго грузится страница</li>
25 </ul><p>Дальше мы рассмотрим, как уменьшить размер страницы.</p>
25 </ul><p>Дальше мы рассмотрим, как уменьшить размер страницы.</p>
26 <h2>Оптимизация изображений</h2>
26 <h2>Оптимизация изображений</h2>
27 <p>Со временем растет и доступная скорость интернета, и возможности разметки страницы. Оба фактора ведут к тому, что все больше сайтов используют не только текст, но и изображения.</p>
27 <p>Со временем растет и доступная скорость интернета, и возможности разметки страницы. Оба фактора ведут к тому, что все больше сайтов используют не только текст, но и изображения.</p>
28 <p>Например, Хекслет активно использует картинки в уроках - и в этом курсе тоже. Это хороший повествовательный прием, но есть одна особенность. Чем больше изображений на странице, тем внимательнее нужно относиться к размеру каждого изображения.</p>
28 <p>Например, Хекслет активно использует картинки в уроках - и в этом курсе тоже. Это хороший повествовательный прием, но есть одна особенность. Чем больше изображений на странице, тем внимательнее нужно относиться к размеру каждого изображения.</p>
29 <p>В качестве примера возьмем один из уроков этого курса и проверим, сколько места занимают изображения. После этого узнаем, что влияет на вес изображения.</p>
29 <p>В качестве примера возьмем один из уроков этого курса и проверим, сколько места занимают изображения. После этого узнаем, что влияет на вес изображения.</p>
30 <p>Чтобы проверить вес всех изображений на странице, воспользуемся "Инструментами разработчика" и знакомой нам вкладке Network. На этой вкладке можно отфильтровать данные по типу с помощью фильтра Images.</p>
30 <p>Чтобы проверить вес всех изображений на странице, воспользуемся "Инструментами разработчика" и знакомой нам вкладке Network. На этой вкладке можно отфильтровать данные по типу с помощью фильтра Images.</p>
31 <p>После выбора фильтра мы увидим все файлы изображений и данные о них:</p>
31 <p>После выбора фильтра мы увидим все файлы изображений и данные о них:</p>
32 <ul><li>Имя файла</li>
32 <ul><li>Имя файла</li>
33 <li>Тип файла</li>
33 <li>Тип файла</li>
34 <li>Объем переданной информации по сети</li>
34 <li>Объем переданной информации по сети</li>
35 <li>Вес изображения</li>
35 <li>Вес изображения</li>
36 </ul><p>Внизу обновится строка состояния и вместо веса страницы будет отображаться суммарный вес всех изображений:</p>
36 </ul><p>Внизу обновится строка состояния и вместо веса страницы будет отображаться суммарный вес всех изображений:</p>
37 <p>Вес страницы на скриншоте равен 3 МБ. Более 500 Кб этого веса приходится на картинки, что составляет 1/6 от общего веса страницы.</p>
37 <p>Вес страницы на скриншоте равен 3 МБ. Более 500 Кб этого веса приходится на картинки, что составляет 1/6 от общего веса страницы.</p>
38 <p>Много это или мало? Чтобы разобраться, обсудим два фактора, от которых зависит размер изображений: от разрешения изображения и его формата.</p>
38 <p>Много это или мало? Чтобы разобраться, обсудим два фактора, от которых зависит размер изображений: от разрешения изображения и его формата.</p>
39 <p>С разрешением все довольно просто - чем оно выше, тем больше размер файла. Здесь стоит учитывать контекст сайта.</p>
39 <p>С разрешением все довольно просто - чем оно выше, тем больше размер файла. Здесь стоит учитывать контекст сайта.</p>
40 <p>Представим сайт, на котором изображения могут быть до 1000 пикселей в ширину. В таком случае загружать изображение с шириной 5000 пикселей бесполезно - это приводит только к лишней нагрузке на сайт.</p>
40 <p>Представим сайт, на котором изображения могут быть до 1000 пикселей в ширину. В таком случае загружать изображение с шириной 5000 пикселей бесполезно - это приводит только к лишней нагрузке на сайт.</p>
41 <p>О формате поговорим немного подробнее. В основном используются два формата:</p>
41 <p>О формате поговорим немного подробнее. В основном используются два формата:</p>
42 <ul><li><strong>png</strong>- этот формат стоит использовать, если изображение содержит прозрачные элементы. У таких файлов довольно большой размер</li>
42 <ul><li><strong>png</strong>- этот формат стоит использовать, если изображение содержит прозрачные элементы. У таких файлов довольно большой размер</li>
43 <li><strong>jpg</strong>- этот формат стоит использовать, если в изображении нет прозрачных элементов. Такие файлы заметно меньше, чем png-файлы</li>
43 <li><strong>jpg</strong>- этот формат стоит использовать, если в изображении нет прозрачных элементов. Такие файлы заметно меньше, чем png-файлы</li>
44 </ul><p>В этом уроке скриншоты не содержат прозрачных элементов, поэтому использовать формат<em>png</em>бессмысленно. Мы использовали формат<em>jpg</em>и сэкономили много места.</p>
44 </ul><p>В этом уроке скриншоты не содержат прозрачных элементов, поэтому использовать формат<em>png</em>бессмысленно. Мы использовали формат<em>jpg</em>и сэкономили много места.</p>
45 <p>Например, одно и то же изображение на скриншоте занимает:</p>
45 <p>Например, одно и то же изображение на скриншоте занимает:</p>
46 <ul><li>103 Кб в формате<em>jpg</em></li>
46 <ul><li>103 Кб в формате<em>jpg</em></li>
47 <li>277 Кб в формате<em>png</em>, что почти в три раза больше</li>
47 <li>277 Кб в формате<em>png</em>, что почти в три раза больше</li>
48 </ul><p>Так же приобретает популярность формат WebP - он позволяет сжимать файлы еще более эффективно, чем<strong>jpg</strong>.</p>
48 </ul><p>Так же приобретает популярность формат WebP - он позволяет сжимать файлы еще более эффективно, чем<strong>jpg</strong>.</p>
49 <h2>Кеширование файлов</h2>
49 <h2>Кеширование файлов</h2>
50 <p>Кеширование - это сохранение часто используемых данных на компьютере или мобильном устройстве пользователя. Например, кешировать можно изображения, стили, скрипты и другие ресурсы.</p>
50 <p>Кеширование - это сохранение часто используемых данных на компьютере или мобильном устройстве пользователя. Например, кешировать можно изображения, стили, скрипты и другие ресурсы.</p>
51 <p>Благодаря кэшированию, браузер использует сохраненные данные, которые уже есть на устройстве. Ему не нужно каждый раз загружать все данные заново, поэтому браузер загружает страницы быстрее.</p>
51 <p>Благодаря кэшированию, браузер использует сохраненные данные, которые уже есть на устройстве. Ему не нужно каждый раз загружать все данные заново, поэтому браузер загружает страницы быстрее.</p>
52 <p>Особенно это полезно, когда пользователь часто использует один и тот же сайт.</p>
52 <p>Особенно это полезно, когда пользователь часто использует один и тот же сайт.</p>
53 <p>Проверить кеширование файлов можно с помощью уже изученной вкладки Network в инструментах разработчика. На этой вкладке важно выключить настройку Disable Cache, потому что с ней файлы не сохраняются. Это полезно в других сценариях, но не при тестировании кеширования. Отключите эту настройку и перезагрузите страницу.</p>
53 <p>Проверить кеширование файлов можно с помощью уже изученной вкладки Network в инструментах разработчика. На этой вкладке важно выключить настройку Disable Cache, потому что с ней файлы не сохраняются. Это полезно в других сценариях, но не при тестировании кеширования. Отключите эту настройку и перезагрузите страницу.</p>
54 <p>Если снова перейти к изображениям, то в столбце Size у многих файлов появится значение<em>memory_cache</em>.</p>
54 <p>Если снова перейти к изображениям, то в столбце Size у многих файлов появится значение<em>memory_cache</em>.</p>
55 <p>Это означает, что файлы не были скачаны. Браузер использовал кешированные версии, которые были взяты с устройства пользователя:</p>
55 <p>Это означает, что файлы не были скачаны. Браузер использовал кешированные версии, которые были взяты с устройства пользователя:</p>
56 <p>В нижней строке состояния видно, что теперь скачано всего 6 Кб графической информации - а не 500 Кб, как было без кеширования.</p>
56 <p>В нижней строке состояния видно, что теперь скачано всего 6 Кб графической информации - а не 500 Кб, как было без кеширования.</p>
57 <h2>Минификация файлов</h2>
57 <h2>Минификация файлов</h2>
58 <p>Вес HTML, CSS или JavaScript или любого текстового файла зависит от количества символов внутри. В качестве символов считаются буквы, цифры, пробелы и переносы строки.</p>
58 <p>Вес HTML, CSS или JavaScript или любого текстового файла зависит от количества символов внутри. В качестве символов считаются буквы, цифры, пробелы и переносы строки.</p>
59 <p>Для пользователя и браузера нет разницы, как выглядит файл CSS: есть ли там переносы, комментарии и красивые отступы. При необходимости эти необязательные символы можно убрать, чтобы уменьшить размер файла и ускорить загрузку страницы.</p>
59 <p>Для пользователя и браузера нет разницы, как выглядит файл CSS: есть ли там переносы, комментарии и красивые отступы. При необходимости эти необязательные символы можно убрать, чтобы уменьшить размер файла и ускорить загрузку страницы.</p>
60 <p>Для этого используется<strong>минификация</strong>- это уменьшение размера файлов путем удаления всех ненужных символов и пробелов в файлах формата HTML, CSS и JavaScript.</p>
60 <p>Для этого используется<strong>минификация</strong>- это уменьшение размера файлов путем удаления всех ненужных символов и пробелов в файлах формата HTML, CSS и JavaScript.</p>
61 <p>Для примера взглянем на Bootstrap - известный CSS-фреймворк. Он позволяет подключить обычную версию CSS-файла и минифицированную. Сравним размеры файлов:</p>
61 <p>Для примера взглянем на Bootstrap - известный CSS-фреймворк. Он позволяет подключить обычную версию CSS-файла и минифицированную. Сравним размеры файлов:</p>
62 <ul><li>274 Кб без минификации</li>
62 <ul><li>274 Кб без минификации</li>
63 <li>227 Кб с минификацией</li>
63 <li>227 Кб с минификацией</li>
64 </ul><p>Здесь разница кажется небольшой. Но посмотрим на пример с JavaScript-файлами:</p>
64 </ul><p>Здесь разница кажется небольшой. Но посмотрим на пример с JavaScript-файлами:</p>
65 <ul><li>142 Кб без минификации</li>
65 <ul><li>142 Кб без минификации</li>
66 <li>60 Кб с минификацией</li>
66 <li>60 Кб с минификацией</li>
67 </ul><p>В крупном проекте таких файлов могут быть десятки, поэтому минификация способна сильно уменьшить вес страницы.</p>
67 </ul><p>В крупном проекте таких файлов могут быть десятки, поэтому минификация способна сильно уменьшить вес страницы.</p>
68 <h2>Выводы</h2>
68 <h2>Выводы</h2>
69 <p>В этом уроке мы рассмотрели, от чего зависит вес интернет-страницы. Теперь вы знаете, почему важно использовать все средства для оптимизации контента:</p>
69 <p>В этом уроке мы рассмотрели, от чего зависит вес интернет-страницы. Теперь вы знаете, почему важно использовать все средства для оптимизации контента:</p>
70 <ul><li>Оптимизация изображений</li>
70 <ul><li>Оптимизация изображений</li>
71 <li>Включение кеширования файлов</li>
71 <li>Включение кеширования файлов</li>
72 <li>Минификация файлов формата HTML, CSS и JavaScript</li>
72 <li>Минификация файлов формата HTML, CSS и JavaScript</li>
73 </ul><p>Все эти оптимизации позволят существенно уменьшить вес страницы, а значит пользователь сможет быстрее ее загрузить.</p>
73 </ul><p>Все эти оптимизации позволят существенно уменьшить вес страницы, а значит пользователь сможет быстрее ее загрузить.</p>