Современный интернет доступен широкому кругу людей, использующих самые разные устройства и типы сетевых подключений. Ваши творения могут достигать пользователей по всему миру, но обеспечение надежной работы в интернете для всех пользователей может быть непростой задачей. Даже простое понимание того, что означает надежность, может стать проблемой.
Надежно работает в автономном режиме.
Один из способов оценить надежность — это проверить, будет ли ваше веб-приложение работать без подключения к сети. Это тот тип надежности, который пользователи воспринимают как должное, когда речь идет о приложениях для конкретных платформ, установленных на мобильные устройства из магазинов приложений. Когда вы видите значок такого приложения, вы ожидаете, что сможете нажать на него и открыть какое-либо приложение, независимо от того, подключены ли вы к интернету.
До недавнего времени создание надежных веб-приложений без подключения к сети представляло собой сложную задачу.
Надежно быстро
Другой способ оценить надежность — это проверить, смогут ли пользователи рассчитывать на достаточно быструю загрузку веб-приложения при нестабильном сетевом соединении. Будут ли у постоянных пользователей одинаковые впечатления от взаимодействия с веб-приложением при использовании мобильной связи и Wi-Fi? А как насчет пользователей с высокоскоростным подключением (так называемым « лайт-фай »)? Будет ли ваше веб-приложение стабильно быстрым даже в таких условиях?
Недостаточно быть быстрым в оптимальных условиях. Пользователи будут оценивать производительность вашего веб-приложения с точки зрения того, как оно ведет себя в любых сетевых условиях.
Надежность достижима.
Хорошая новость в том, что современная веб-платформа предоставляет технологии, такие как сервис-воркеры и API кэширования , которые могут служить строительными блоками для создания надежных веб-приложений. Они позволяют писать код, который находится между вашим веб-приложением и сетью. Во многих случаях вы можете полностью обойти сеть и вместо этого использовать ранее кэшированный контент для выполнения запросов вашего веб-приложения.
Ваш путеводный свет: отвечает кодом 200 OK, даже если находится в автономном режиме.
Как только вы начинаете создавать сервис-воркер и предоставлять контент из кэша, сложно понять, насколько эффективно вы это делаете. Как узнать, действительно ли внедренный вами сервис-воркер помогает вашему веб-приложению избегать сетевых запросов? Как предотвратить ситуацию, когда небольшое изменение стратегии кэширования может нарушить тщательно разработанную работу в офлайн-режиме?
Lighthouse предоставляет один конкретный тест, представляющий особый интерес при создании надежного веб-приложения: он отвечает кодом 200 OK в автономном режиме .

Что же на самом деле здесь проверяется? Суть в том, что в вашем браузере имитируется потеря сетевого соединения, после чего предпринимается попытка загрузить тот URL-адрес вашего сайта, который проверяется. Это позволяет проверить один из аспектов создания надежного сайта — его надежность в автономном режиме — с помощью контролируемой, повторяемой последовательности действий.
Это путешествие
Если вы только начинаете, то с большой вероятностью получите отрицательный результат проверки на наличие ошибки 200 при работе в автономном режиме. Это нормально! Если вы не используете готовый стартовый проект, веб-приложения по умолчанию не обладают такой надежностью. В следующих нескольких руководствах мы познакомим вас с методами, необходимыми для определения того, что загружает ваше веб-приложение, и научим вас использовать Lighthouse для обеспечения надежной загрузки.
На протяжении всего этого процесса вам рекомендуется повторно запускать аудиты Lighthouse. Они служат ориентиром на протяжении всего вашего пути, начиная с нового веб-приложения и заканчивая надежным прогрессивным веб-приложением.