Предварительная загрузка ссылок
Предварительная выборка ссылок позволяет веб-браузерам предварительно загружать ресурсы. Это ускоряет загрузку и рендеринг веб-страниц. Предварительная выборка впервые была представлена в HTML5 .
Предварительная выборка осуществляется с помощью подсказок на веб-страницах. Эти подсказки используются браузером для предварительной загрузки ссылок. К ресурсам, которые можно предварительно загрузить, относятся: JavaScript , CSS , изображения, аудио, видео и веб-шрифты . DNS- имена и TCP- соединения также могут быть указаны для предварительной выборки. [1] [2]
Предварительная загрузка в HTML5
[ редактировать ]Существует два стандарта W3C, охватывающие предварительную выборку для HTML5:
- Предварительная загрузка ссылки [1]
- Подсказки к конкретным URL-адресам. Общие подсказки включают JavaScript , CSS , изображения и веб-шрифты .
- Подсказки по ресурсам [2]
- Подсказки для браузера. Общие подсказки включают DNS-запросы, открытие TCP-соединений и предварительную отрисовку страницы.
Методы HTML5 для подсказок по предварительной выборке:
- Стандартная предварительная выборка ссылок (поддерживается большинством браузеров):
<link rel="prefetch" href="http://www.example.com/">
- Предварительная выборка DNS ( Mozilla Firefox , Google Chrome и другие) [ нужна ссылка ] :
<link rel="dns-prefetch" href="http://example.com/">
- Предварительный рендеринг страницы ( Google Chrome , Internet Explorer и другие) [ нужна ссылка ] :
<link rel="prerender" href="/page/to/prerender">
- Ленивая загрузка изображений ( Internet Explorer ) [ нужна ссылка ] :
<img src="image.jpg" lazyload>
Link
[3] [4] для заголовков HTTP : пример ниже.
Link: <//pagead2.googlesyndication.com>; rel=dns-prefetch, </js/bootstrap.min.js>; as=script; rel=preload, </ads.html>; rel=prerender, </css/bootstrap.min.css>; as=style; rel=preload
Поддержка браузера
[ редактировать ]Браузер | Поддерживается предварительная выборка | |||
---|---|---|---|---|
Стандартная предварительная загрузка ссылок | Предварительная выборка DNS | Предварительный рендеринг | Ленивая загрузка (изображения) | |
Android- браузер | Да [5] | Нет [5] | Нет [5] | Нет |
Хром | Да [5] | Да [5] | Да [5] | Нет |
Гугл Хром | Да [5] | Да [5] | Да [5] | Нет |
Интернет Эксплорер | Да [6] | Да [6] | Да [6] | Да [6] |
Мозилла Фаерфокс | Да [5] | Да [5] | Нет [7] | Нет |
Опера | Да [5] | Нет [5] | Нет [5] | Нет |
Сафари | Нет [5] | Да [5] | Нет [5] | Нет |
Исторический
[ редактировать ]- iCab , Mozilla Application Suite и WebTV — первые упомянутые браузеры, поддерживающие предварительную выборку ссылок. [8]
- Просмотр с помощью Google Web Accelerator (продукт, производство которого прекращено, технически может называться предварительным кэшированием )
- Известно, что прокси- устройство Blue Coat использует несовместимую с требованиями предварительную выборку.
Современные браузеры
[ редактировать ]- Mozilla Firefox поддерживает предварительную выборку DNS, начиная с версии 3.5. [9]
- Google Chrome поддерживает предварительную выборку связанного веб-контента путем «предварительного рендеринга», начиная с версии 11. [10]
- Internet Explorer поддерживает предварительную выборку IP-адресов с помощью « Предварительной выборки DNS », начиная с версии 9. [11]
- Начиная с версии 11, Internet Explorer поддерживает следующий набор функций для расширения возможностей предварительной выборки: «prerender», «dns-prefetch» и «lazyload» (только изображения). [6]
Популярные сайты, использующие предварительную загрузку
[ редактировать ]- Google — самый известный веб-сайт , который использует эту функцию для улучшения пользовательского опыта. Если первое попадание считается желаемым с большой вероятностью, оно назначается как ссылка с возможностью предварительной выборки.
- В частности, в августе 2011 года Google внедрил «Мгновенные страницы Google», которые используют вышеупомянутую функцию, интеллектуальное завершение поиска и предварительную загрузку результатов поиска по мере ввода пользователем, чтобы улучшить производительность поисковой системы. [12]
- Bing использует предварительную выборку и предварительную загрузку с момента выпуска Internet Explorer 11 (октябрь 2013 г.). [6]
Проблемы и критика
[ редактировать ]Проблема, связанная с неизбирательной предварительной выборкой ссылок, связана с неправильным использованием «безопасных» методов HTTP . Запросы HTTP GET и HEAD считаются «безопасными», т. е. пользовательский агент, выдающий один из этих запросов, должен ожидать, что запрос не приведет к каким-либо изменениям на сервере-получателе. [13] Однако операторы веб-сайтов обычно используют эти запросы за пределами этого ограничения. Простые гиперссылки (которые почти всегда приводят к запросам GET) часто используются для реализации функции выхода из системы и проверки учетной записи, например, когда пользователь заполняет форму создания учетной записи, и автоматизированная служба отправляет проверочное электронное письмо на указанный пользователем адрес электронной почты. адрес.
Аналогичным образом, служба хостинга вполне может предоставить веб-интерфейс для управления файлами, включая ссылки, которые удаляют один или несколько файлов. Пользователи, которые посещают страницы, содержащие ссылки такого типа (используя браузер, в котором используется неизбирательная предварительная выборка ссылок), могут обнаружить, что они вышли из системы или что их файлы были удалены. [14]
Кроме того, существует ряд критических замечаний относительно последствий предварительной загрузки ссылок для конфиденциальности и использования ресурсов:
- Файлы cookie, установленные или отправленные третьим лицам, нарушают конфиденциальность в Интернете .
- Обеспечивает по существу/граничную установку вредоносного ПО для атаки с нулевым щелчком через 0day просто потому, что ссылка для распространения вредоносного ПО предварительно загружена.
- Пользователи и операторы веб-сайтов, которые платят за объем используемой ими пропускной способности, вынуждены платить за трафик для страниц, которые пользователь на самом деле не посещает, а рекламодатели могут платить за просмотр рекламы на сайтах, которые никогда не посещаются.
- Веб-статистика, такая как использование браузера, ссылки в поисковых системах и посещения страниц , может стать менее надежной из-за регистрации посещений страниц, которые пользователь никогда не видел.
- Пользователи могут подвергаться большему риску безопасности, загружая больше страниц или с незапрошенных сайтов (что дополнительно усугубляется тем, что попутные загрузки становятся более продвинутыми и разнообразными).
- Пользователи могут нарушать политику допустимого использования своей сети или организации, если предварительная выборка обеспечивает доступ к несанкционированному контенту.
В случае мобильных устройств или для пользователей с ограниченной пропускной способностью упреждающая выборка может привести к ненужному дорогостоящему использованию ограниченной пропускной способности.
Реализации могут выполнять предварительную выборку ссылок, даже если они не указаны как ссылки предварительной выборки.
В случае предварительного рендеринга Google предупреждает, что неправильное использование может привести к вышеупомянутому увеличению использования полосы пропускания, замедлению загрузки других ссылок и несколько устаревшему контенту. [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б «Предварительная загрузка» . w3c.github.io . Проверено 19 марта 2016 г.
- ^ Перейти обратно: а б «Ресурсные подсказки» . w3c.github.io . Проверено 19 марта 2016 г.
- ^ Ноттингем, М. (2010). «Веб-ссылки» . РФК 5988 . IETF. дои : 10.17487/RFC5988 . S2CID 367264 . Проверено 19 марта 2016 г.
- ^ «Подсказки по ресурсам (пример 6)» . Подсказки к ресурсу: рабочий проект W3C . W3C . Проверено 31 октября 2016 г.
- ^ Перейти обратно: а б с д и ж г час я дж к л м н тот п д «Предварительный просмотр» . Стив Содерс. 07.10.2013.
- ^ Перейти обратно: а б с д и ж «Быстрый доступ к нужному контенту в IE11» . IEBlog, Microsoft. 04.12.2013. Архивировано из оригинала 12 мая 2014 г.
- ^ «Ошибка 730101 — реализация предварительной отрисовки в Firefox» . Мозилла. 18 октября 2014 г.
- ^ Фишер, Дарин; Саксена, Гаган. «Предварительная загрузка ссылок в Mozilla: серверный подход» (PDF) . Проверено 9 мая 2014 г.
- ^ «Управление предварительной выборкой DNS» . Проверено 9 мая 2014 г.
- ^ Перейти обратно: а б «Руководство веб-разработчика по предварительной визуализации в Chrome» . Проверено 9 мая 2014 г.
- ^ «Улучшения производительности сети в Internet Explorer 9» . Проверено 9 мая 2014 г.
- ^ «О Google Instant» . Проверено 9 мая 2014 г.
- ^ Филдинг, Рой ; Геттис, Джим ; Могул, Джеффри; Фристик, Хенрик ; Масинтер, Ларри; Лич, Пол; Бернерс-Ли, Тим (июнь 1999 г.). «Безопасные методы» . Протокол передачи гипертекста — HTTP/1.1 . Сетевая рабочая группа. IETF . п. 50. сек. 9.1.1. дои : 10.17487/RFC2616 . РФК 2616 . Проверено 16 декабря 2009 г.
- ^ разные (2009). «Предварительная выборка при наведении курсора мыши?» . Джервас Маркхэм, MozillaZine . Архивировано из оригинала 31 мая 2009 г. Проверено 16 декабря 2009 г.