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>