У меня есть две конечные точки, /huge_html
и /huge_html2
, которые обслуживают один и тот же документ HTML размером ~ 10 МБ.(Обратите внимание: что это неполный HTML и просто <div>
с тысячами <p>
тегов)
Я хотел проверить, является ли предварительная загрузка эффективным способом загрузки HTML, который, я знаю, я определенно собираюсь fetch
позже, но предварительно загружается раньше в цикле загрузки страницы.Тем не менее, при следующей настройке я все равно получаю примерно эквивалентную загрузку ответов HTML.
Я попробовал следующее <link>
в своем HTML-документе:
<link rel="preload" href="/huge_html" as="document" />
И затем у меня есть следующее js:
function sleep(ms){
return new Promise(resolve => setTimeout(resolve, ms));
}
async function setup(path) {
await sleep(5000);
let response = await fetch(path)
};
Promise.all([setup('/huge_html'), setup('/huge_html2')])
В этом случае,оба ответа /huge_html
возвращаются с примерно одинаковыми временами ответа, где я ожидал, что /huge_html2
будет возвращаться медленнее, учитывая, что /huge_html
помечен для предварительной загрузки.
Я прочитал в MDN и других статьях о поведении preload
, и я все еще не понимаю, почему я не могу получить повторяющийся тест preload
, работающий в действии с документами HTML.,