Пропустить навигацию

Методология

Краткий обзор

The Web Almanac — проект HTTP Archive, запущенного в 2010 году Стивом Саудерсом для отслеживания эволюции web. Он ежемесячно анализирует миллионы веб-страниц и предоставляет терабайты метаданных черезBigQuery.

Миссия Web Almanac — стать ежегодным справочником о состоянии web. Мы делаем данные HTTP Archive доступнее, привлекая экспертов для контекстного анализа.

Издание 2024 года состоит из четырёх частей: контент, пользовательский опыт, публикация и распространение. Каждая часть исследуется под разными углами (например, в части "Опыт" рассматриваются производительность, безопасность и доступность).

О наборе данных

Данные HTTP Archive обновляются ежемесячно. Для Web Almanac 2024 года, если в главе не указано иное, использовался набор данных за июнь 2024 года. Результаты доступны в publicly queryable BigQuery в таблицах `httparchive.all.*` с датой date = '2024-06-01'.

Все метрики, представленные в Web Almanac, можно воспроизвести в открытом доступе, используя набор данных на BigQuery. Вы можете просмотреть запросы, использованные во всех главах, в нашем разделе GitHub-репозитория.

Например, чтобы узнать среднее количество байт JavaScript на странице для компьютеров и телефонов, смотрите bytes_2024.sql:

SELECT
  client,
  is_root_page,
  COUNTIF(color_contrast_score IS NOT NULL) AS total_applicable,
  COUNTIF(CAST(color_contrast_score AS NUMERIC) = 1) AS total_good_contrast,
  COUNTIF(CAST(color_contrast_score AS NUMERIC) = 1) / COUNTIF(color_contrast_score IS NOT NULL) AS perc_good_contrast
FROM (
  SELECT
    client,
    is_root_page,
    date,
    JSON_VALUE(lighthouse, '$.audits.color-contrast.score') AS color_contrast_score
  FROM
    `httparchive.all.pages`
  WHERE
    date = '2024-06-01'
)
GROUP BY
  client,
  is_root_page,
  date
ORDER BY
  client,
  is_root_page;

Результаты по каждой метрике доступны для публичного просмотра в электронных таблицах по отдельным разделам, например JavaScript results. Ссылки на исходные результаты и запросы доступны в нижней части каждой главы. Ссылки на результаты и запросы по конкретным метрикам также находятся непосредственно на каждой фигуре.

Сайты

В наборе данных содержится 16 935 953 веб-сайта. Из них 16 130 357 - это мобильные сайты, а 12 740 973 - десктопные. Большинство сайтов присутствуют в обеих категориях.

HTTP Archive берет URL-адреса для своих сайтов из Chrome UX Report. Chrome UX Report - это публичный набор данных от Google, в котором собраны впечатления пользователей от миллионов сайтов, активно посещаемых пользователями Chrome. Таким образом, мы получаем актуальный список сайтов, отражающий реальное использование веб-ресурсов. Набор данных Chrome UX Report включает измерение форм-фактора, которое мы используем для получения всех веб-сайтов, посещаемых пользователями компьютеров и телефонов.

Сканированный,июньский HTTP Archive 2024 года, используемый Web Almanac, использовал последний доступный выпуск Chrome UX Report для списка веб-сайтов. Набор данных 202406 был выпущен 8 июля 2024 года и отражает веб-сайты, посещенные пользователями Chrome в июне.

Из-за ограниченности ресурсов HTTP Archive ранее мог тестировать только две страницы с каждого сайта в отчете Chrome UX. Имейте в виду, что это вносит некоторую погрешность в результаты, поскольку главная страница не обязательно является репрезентативной для всего сайта. В этом году мы включили в отчет второстепенные страницы, и многие главы используют эти новые данные. Однако, некоторые главы использовали только домашние страницы.

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

Метрики

HTTP Archive собирает тысячи показателей о том, как устроен web. Он включает в себя такие базовые показатели, как количество байт на страницу, была ли страница загружена по HTTPS, а также отдельные заголовки запроса и ответа. Большинство этих показателей предоставляются WebPageTest, который выступает в роли программы тестирования для каждого сайта.

Другие инструменты тестирования используются для получения более подробных показателей страницы. Например, Lighthouse используется для проведения аудита страницы с целью анализа ее качества в таких областях, как доступность и SEO. Ниже в разделе Инструменты каждый из этих инструментов рассматривается более подробно.

Чтобы обойти некоторые ограничения, присущие лабораторному набору данных, веб-альманах также использует Chrome UX Report для оценки пользовательского опыта, особенно в веб-области.

Некоторые показатели совершенно недостижимы. Например, мы необязательно должны иметь возможность определять инструменты, используемые для создания сайта. Если сайт создан с помощью create-react-app, мы можем сказать, что в нем используется фреймворк React, но не обязательно, что используется конкретный инструмент сборки. Если только эти инструменты не оставляют заметных следов в коде сайта, мы не можем определить их использование.

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

Инструменты

Web Almanac стал возможен благодаря следующим инструментам с открытым исходным кодом.

WebPageTest

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

Конфигурация Компьютер Мобильная версия
Устройство Linux VM Эмулятор Moto G4
Пользовательский агент Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 PTST/240613.172707 Mozilla/5.0 (Linux; Android 8.1.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36 PTST/240613.172707
Расположение Google Cloud Locations, США Google Cloud Locations, США
Связь Кабель (5/1 Mbps 28ms RTT) 4G (9 Mbps 170ms RTT)
Окно просмотра 1376 x 768px 512 x 360px

Обычные веб-сайты запускаются из среды Chrome на виртуальной машине Linux. Скорость сети эквивалентна кабельному соединению.

Мобильные веб-сайты запускаются в мобильной среде Chrome на эмулируемом устройстве Moto G4 со скоростью сети, эквивалентной 4G-подключению.

Тестовые агенты запускаются из различных локаций Google Cloud Platform расположенных в США.

Частный экземпляр WebPageTest в HTTP Archive синхронизируется с последней общедоступной версией и дополняется пользовательскими метриками, которые представляют собой фрагменты JavaScript, оцениваемые на каждом сайте в конце теста.

Результаты каждого теста предоставляются в виде HAR файла — архивного файла в формате JSON, содержащего метаданные о веб-странице.

Lighthouse

Lighthouse это автоматизированный инструмент проверки качества веб-сайтов, созданный компанией Google. Он проверяет веб-страницы, чтобы убедиться, что они не содержат таких антипаттернов пользовательского опыта, как неоптимизированные изображения и недоступный контент.

HTTP Archive использует последнюю версию Lighthouse для всех страниц. По состоянию на июнь 2024 года HTTP Archive использовал версию 12.0.0 Lighthouse.

Lighthouse запускается как отдельный тест из WebPageTest, но имеет собственный профиль конфигурации:

Конфигурация Десктопная версия Мобильная версия
Замедление CPU Информация отсутствует 1x/4x
Пропускная способность загрузки 1.6 Мбит/с 1.6 Мбит/с
Пропускная способность загрузки 0.768 Мбит/с 0.768 Мбит/с
Круговая задержка 150 мс 150 мс

Дополнительную информацию о Lighthouse и аудитах, доступных в HTTP Archive, можно найти в документации для разработчиков Lighthouse.

Wappalyzer

Wappalyzer — это инструмент для обнаружения технологий, используемых веб-страницами. Протестировано 108 категорий технологий, от фреймворков JavaScript до платформ CMS и даже майнеров криптовалют. Поддерживается более 3944 технологий (небольшое увеличение с 3805 в 2022 году).

HTTP Archive использует свою версию последней версии Wappalyzer с открытым исходным кодом (v6.10.65), в которую с тех пор были добавлены некоторые дополнительные обнаружения.

Wappalyzer поддерживает множество глав, в которых анализируется популярность инструментов разработчика, таких как WordPress, Bootstrap и jQuery. Например, глава CMS в значительной степени опирается на соответствующую категорию CMS технологий, обнаруженных Wappalyzer.

Все инструменты обнаружения, включая Wappalyzer, имеют свои ограничения. Достоверность их результатов всегда будет зависеть от точности их механизмов обнаружения. Web Almanac добавит примечание в каждую главу, где используется Wappalyzer, но его анализ может быть неточным по определенной причине.

Отчёт Chrome UX Report

The Chrome UX Report — это общедоступный набор данных о реальном опыте пользователей Chrome. Опыт сгруппирован по происхождению веб-сайтов, например https://www.example.com. Набор данных включает распределение показателей UX, таких как прорисовка, загрузка, взаимодействие и стабильность макета. Помимо группировки по месяцам, опыт также может быть разделен по таким измерениям, как география на уровне страны, форм-фактор (компьютер, телефон, планшет) и эффективный тип подключения (4G, 3G и т. д.).

Набор данных Chrome UX Report включает относительные данные о рейтинге веб-сайтов. Они называются величинами ранга, поскольку в отличие от детальных рейтингов, таких как #1 или #116 самых популярных веб-сайтов, веб-сайты группируются в ранговые сегменты от топ-1000, топ-10000 и до топ-10M. Каждый веб-сайт ранжируется в соответствии с количеством просмотров соответствующих страниц на всех его страницах вместе взятых. В этом году Web Almanac широко использует эти новые данные как способ изучения вариаций в том, как веб строится по популярности сайта.

Для показателей Web Almanac, которые ссылаются на данные о реальном пользовательском опыте из отчета Chrome UX, используется набор данных за июнь 2024 года (202406).

Дополнительную информацию о наборе данных можно найти в руководстве Использование отчета Chrome UX в BigQuery на сайте developer.chrome.com.

Blink Features — это индикаторы, которые Chrome помечает каждый раз, когда обнаруживает использование определенной функции веб-платформы.

Мы используем данные Blink Features, чтобы взглянуть на внедрение функций с другой стороны. Эти данные особенно полезны для разграничения функций, реализованных на странице, и функций, которые действительно используются.

Функции Blink регистрируются WebPageTest в рамках нашего регулярного тестирования.

Third Party Web

Third Party Web исследовательский проект Патрика Халса, автора главы Третьи стороны», в котором используются данные HTTP Archive и Lighthouse для выявления и анализа влияния сторонних ресурсов на Web.

Домены считаются сторонним поставщиком, если они появляются как минимум на 50 уникальных страницах. Проект также группирует поставщиков по их соответствующим услугам в категориях, таких как реклама, аналитика и социальные сети.

В нескольких главах Web Almanac используются домены и категории из этого набора данных для понимания влияния третьих сторон.

Rework CSS

Rework CSS — это парсер CSS на основе JavaScript. Он берет целые таблицы стилей и создает объект в кодировке JSON, различающий каждое отдельное правило стиля, селектор, директиву и значение. Подробнее об интеграции с набором данных HTTP Archive в BigQuery см. в 'этой ветке'.

Parsel

Parsel — это парсер селекторов CSS и калькулятор спецификации, изначально написанный руководителем отдела CSS 2020 годаЛеей Веру с открытым исходным кодом как отдельная библиотека. Он широко используется во всех метриках CSS, которые относятся к селекторам и специфичности.

Аналитический процесс

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

Планирование

Web Almanac 2024 года стартовал в марте 2024 года с призыва к соавторам. Мы инициировали проект с теми же главами из предыдущих лет, и сообщество предложило дополнительные темы, которые стали одной из новых глав в этом году: Файлы cookie.

Как мы заявили в Методологии первого года:

Одной из чёткой и конкретной целью будущих изданий Web Almanac является ещё большее вовлечение в него представителей меньшинств в качестве авторов и рецензентов.

С этой целью в этом году мы продолжили процесс отбора авторов:

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

Мы надеемся, что в будущем этот процесс будет совершенствоваться, чтобы сделать Web Almanac более разнообразным и инклюзивным проектом с участниками из всех слоев общества.

Анализ

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

В течение мая 2024 года HTTP Archive просканировал несколько миллионов веб-сайтов, собирая метаданные для использования в Web Almanac. Эти результаты были подвергнуты постобработке и сохранены в BigQuery.

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

Обработка

Авторы работали с аналитиками, чтобы правильно интерпретировать результаты и сделать соответствующие выводы. При написании соответствующих глав авторы опирались на эти статистические данные, чтобы подкрепить свое представление о состоянии Web. Рецензенты сотрудничали с авторами, чтобы добиться правильности анализа с технической точки зрения.

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

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

Перспективы на будущее

Выпуск Web Almanac 2024 года - пятый в рамках ежегодной традиции (в 2023 году мы сделали перерыв) веб-сообщества, которая заключается в самоанализе и стремлении к позитивным изменениям. Достижение этой точки стало монументальным трудом благодаря многим самоотверженным участникам, и мы будем использовать как можно эффективнее результаты этой работы, чтобы сделать будущие выпуски ещё лучше.