Может ли запрос AJAX использовать предварительную выборку ссылок?

Как известно большинству из вас, HTML5 представил стандартизованный механизм браузера под названием prefetching, которая позволяет предварительно загружать содержимое выбранных URL-адресов в фоновом режиме, если браузер определяет, что сетевая активность отсутствует. Он используется, добавляя в голову следующее:

<link rel="prefetch" href="#" onclick="location.href='http://www.example.com/'; return false;">

Мне любопытно, работает ли этот механизм над XMLHttpRequest - в том смысле, что если я укажу предварительную выборку ссылок, и затем через некоторое время на той же самой странице начнется запрос AJAX, будет ли XHR HTTP-запрос байта или запросить всю страницу, эффективно игнорируя частично предварительно загруженную страницу?

По-английски: может ли запрос AJAX использовать предварительно загруженный или частично предварительно загруженный контент?

Ответы

Ответ 1

Сортировка ответа ДА.

Пока вы выполняете запросы GET (или HEAD-запросы), XHR будет использовать загруженные данные из предварительной выборки.

Если во время XHR загруженный предварительно загруженный файл загружается, загрузка будет иметь стандартный приоритет, и XHR вернется, когда загрузка закончится (это не всегда так)

Вы можете наблюдать все это (по крайней мере) на вкладке "Сеть" в Crom Developer Tools

введите описание изображения здесь

Первый почтовый индекс из предварительной выборки, а второй - из запроса XHR и зеленый - ждать, синий загружается.

Фактически вы можете увидеть, что XHR ожидает завершения предварительной выборки