뚠뚠멍의 생각들

О загрузке ресурсов браузера

  • Язык написания: Корейский
  • Страна: Все страныcountry-flag
  • ИТ

Создано: 2024-10-01

Создано: 2024-10-01 00:31

Браузеры обычно выполняют рендеринг в следующем порядке.

- Разбор HTML (сверху вниз, head -> body):

1. Разбор HTML и создание DOM
2. Загрузка и применение CSS-файлов (блокировка рендеринга)
3. Загрузка и выполнение скриптов (блокировка рендеринга)

4. Рендеринг содержимого секции <body> (изображения, текст и т.д.)


Управление приоритетом ресурсов браузера позволяет оптимизировать скорость загрузки страницы.


Ниже я хочу записать основные атрибуты, которые могут улучшить порядок рендеринга.

- JavaScript: async, defer, module
- CSS: preload, media
- Изображения: loading="lazy", srcset, sizes
- Другие: prefetch, preconnect, dns-prefetch


JavaScript

async: загружается параллельно с разбором HTML и выполняется сразу после загрузки. Если какой-либо ресурс страницы связан с этим JS, лучше убрать атрибут async.


defer: загружается параллельно с разбором HTML и выполняется после полного завершения разбора HTML. = Порядок гарантирован. Если необходимо выполнить скрипт после полной отрисовки HTML, лучше добавить атрибут defer.


Браузер по умолчанию сначала загружает HTML, но если в теге head есть скриптовый источник, рендеринг блокируется. Добавление двух вышеуказанных атрибутов позволяет предотвратить блокировку рендеринга HTML.



CSS

stylesheet: значение по умолчанию. Является элементом, блокирующим рендеринг, и используется, если CSS обязательно должен быть загружен.

preload: предварительно загружает без блокировки рендеринга. При возникновении события onload изменяется на stylesheet и применяется стиль.

media: Рендеринг выполняется, если условие размера экрана выполняется.


Изображения

loading="lazy" : Загрузка изображения происходит, когда оно отображается на экране. (когда положение прокрутки находится рядом с элементом, в котором находится изображение)

srcset: Выбирает оптимальное изображение в соответствии с размером экрана. (Оптимизация размера изображения)

sizes : Предоставляет подсказку браузеру для выбора подходящего изображения в зависимости от размера видового окна.


В случае с последним тегом img, когда есть изображения шириной 480 пикселей и 1024 пикселя, атрибут size указывает, что при max-width 600 пикселей отображается изображение 480 пикселей, а в остальных случаях - изображение 1024 пикселя.


* В электронной коммерции на одной странице может быть десятки изображений, поэтому уменьшение размера изображений дает значительный эффект.

Например, на странице результатов поиска есть не менее 20 изображений, и поиск выполняется 100 000 раз в день...


Другие

rel="prefetch": предварительно загружает ресурсы перед переходом на страницу, чтобы улучшить скорость загрузки на следующей странице.

rel="preconnect": предварительно устанавливает сетевое соединение для определенной ссылки. (большие видео, шрифты и т.д.)

rel="dns-prefetch": выполняет поиск DNS внешних ресурсов для более быстрой загрузки ресурсов. (в основном внешние CDN)


* preconnect против dns-prefetch

preconnect включает TCP-соединение (DNS - TCP handshake - TLS handshake), поэтому это тяжелая операция, занимающая ресурсы браузера. Используется, когда необходимо быстро загрузить внешний ресурс. (очень важный ресурс, и быстрая отрисовка этого ресурса важна)

dns-prefetch выполняет только поиск DNS, поэтому это более легкая операция. Подходит для неважных ресурсов, которые будут загружены позже.






Комментарии0

Максимизация результатов SEO с помощью AMP: реализация быстрых мобильных страницУзнайте, как использовать Google AMP для ускорения загрузки мобильных страниц и максимизации результатов SEO. Это поможет улучшить пользовательский опыт и оптимизировать сайт для поисковых систем.
꿈많은청년들
꿈많은청년들
꿈많은청년들
꿈많은청년들

June 18, 2024

Использование Google Cloud Storage и Cloud Run для CDN — часть 2Вторая статья о том, как создать CDN с помощью Google Cloud Storage и Cloud Run. В ней описывается, как оптимизировать передачу изображений и текстовых файлов, а также как снизить задержку, распространив ресурсы по 8 регионам мира.
두루미스 기술 블로그
두루미스 기술 블로그
두루미스 기술 블로그
두루미스 기술 블로그

September 6, 2024

Что такое On-Page SEO в SEO?On-Page SEO — это стратегия повышения позиций в поисковой выдаче за счет оптимизации элементов на веб-сайте (заголовки, текст, изображения, метатеги и т.д.). Важны качество контента, использование ключевых слов, метатеги, оптимизация изображений, внутренн
꿈많은청년들
꿈많은청년들
꿈많은청년들
꿈많은청년들

May 28, 2024

[Для неспециалистов, выживание разработчика] 14. Краткое изложение часто задаваемых вопросов на техническом собеседовании для начинающих разработчиковМы обобщили и систематизировали часто задаваемые технические вопросы на собеседовании для начинающих разработчиков (области памяти, структуры данных, базы данных и т. д.). Надеемся, что это поможет вам подготовиться к собеседованию по разработке.
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자
투잡뛰는 개발 노동자

April 3, 2024