Для решения этой задачи разработчики компании использовали технологию под названием «Reactive prefetch» («Реактивная предвыборка»). Поэтому нововведение коснулось только Google Chrome для Android – версия браузера для iOS не поддерживает этот функционал.
Илья Григорик объясняет работу «Reactive prefetch» так:
«Мы не формируем умозрительную предварительную выборку ресурсов и не осуществляем ненужные загрузки. Вместо этого, мы ждём, пока пользователь нажмёт на ссылку и покажет нам точно, куда она ведёт. Когда мы об этом узнаем, браузер получит данные о том, какие другие ресурсы он должен предоставить в параллельном режиме».
По словам представителя компании, внедрение этой технологии требует:
- Во-первых, знания списка критических ресурсов, которые могут задержать визуализацию целевой страницы для каждой страницы в Сети.
- Во-вторых, нужен такой API браузера, который позволяет вызвать логику предварительной выборки, когда происходит клик: поисковая страница прослушивает кликовое событие, и как только оно произошло, динамически вводит подсказки по предварительной выборке на страницу поисковых результатов.
- В-третьих, поскольку страница поисковой выдачи не загружена, браузер начинает выбирать указанные ресурсы в параллельном режиме с запросом на целевую страницу. В конечном итоге, критические ресурсы выбираются намного быстрее, позволяя браузеру визуализировать целевую страницу на 100-150 мсек быстрее.
Напомним, что в октябре 2013 Google улучшил работу мобильной поисковой системы, ускорив отзыв на клик по результатам на 200-400 миллисекунд. Новая версия поиска работает в браузерах Chrome и Safari.