ПредишенСледващото

Когато става дума за изпълнение на предния край, ние обикновено мислим за неща като наниз, Минификация, компресия и кеширане на ресурсите на сървъра, което позволява да се зареди по-бързо и да ви помогне да постигнете целите си по-бързо.

проба предварителен ресурс (предварително извличане) е друга техника, която подобрява производителността. Можем да го използваме, за да каже на браузъра какви ресурси може да се наложи в близко бъдеще, преди потребителят да пита за тях наистина.

Предварително извличане е начин за предотвратяване на браузъра на ресурсите, които има вероятност да бъдат използвани в бъдеще, някои предупреждения се отнасят до текущата страница, някои са свързани с бъдещи страници. Като разработчици, ние знаем, че нашите приложения по-добре, отколкото Browser. И ние можем да предаде тази информация към браузъра.

Практиката на гадаят на нуждите на потребителите в ресурси, наречени prebrauzing. Този термин се отнася композитен тук набор от различни техники - DNS-предварително извличане. subresource. предварително свързване. Предварително извличане на стандартната и изобразява предварително.

DNS-предварително извличане

В неговата епична фронтенд текст изпълнение Хари Робъртс предлага да използвате тази техника:

Тази проста линия, които се поддържат от вашия браузър, за да започнат като търсенето в DNS за определения домейн преди това е наистина необходимо. Това означава, че процесът на търсене на DNS ще бъдат завършени до момента, когато това е необходимо, което означава, че браузърът получава малко преднина при зареждане на ресурси "prefetchennogo URL".

предварително свързване

Този метод е много подобен на DNS предварително извличане, но различна от резолюцията на DNS, този метод започва TCP-връзки и TLS преговори със защитена връзка.

Този метод е описан подробно в една скорошна статия от Илия Grigorika:

Съвременните браузъри се опитват да се предвиди кои съединения ще изискват сайт за заявка за изпълнение. Иницииране рано "predsoedineniya", браузърът може да бъде създадена по-рано необходимите контакти и премахване на скъпи работа с DNS, TCP и TLS от критичния път на текущата заявка. Но тъй като не е напреднала съвременни браузъри, те няма да могат да се разпределят в съответните цели predsoedineniya за всички сайтове. Добрата новина е, че сега можем да каже на браузъра, който контакти трябва да се отворят преди започване на молба поради технологията predsoedineniya изпълнява в Firefox 39 и Chrome 46!

Ако ние сме сигурни, че даден файл е задължително изисква известно време, ние можем да поиска от браузъра, за да го изтеглите предварително и се съхранява в кеш паметта за бъдеща употреба. Тя може да бъде изображение или скрипт, или нещо друго, за да бъдат кеширани от браузъра.

За разлика от DNS prefetchinga, исканията на браузъра и изтегляне на необходимите ресурси и да го съхранява в кеш. Все пак, това е в зависимост от определени условия, предварително извличане може да бъде игнориран от браузъра. Например, ако един голям файл се иска шрифт с бавна връзка с интернет. И Firefox е предварително зареден ресурси само е в мързелив режим.

Брам Stein в поста си по този въпрос, казва, че тя може да даде значително увеличение на производителността при изтегляне на уеб шрифтове. В този момент на шрифтове, преди да изтеглите очакват изграждането на DOM и CSSOM. Предварително извличане на прескачанията, причинена от тези проблеми с производителността.

Забележка: Най-новите версии на Chrome и Firefox показват, ресурсите са заредени върху "мрежа" в инструментите за програмисти. Също така е полезно да се помни, че няма ограничения за prefetchinga "от един и същи произход", т.е. можете да зададете предварително зареждане ресурси във всеки домейн.

subresource

Друга техника prefetchinga помага за разкриване на ресурси с най-висок приоритет, който трябва да бъде поискано за пръв път. Така например, в Chrome и Opera, можем да добавим в главата следната позиция:

Според Chrome документацията този запис е както следва:

"LINK отн = subresource" предлага нов вид комуникационни връзки с не-LINK отн = предварително извличане на семантика. Докато отн = предварително извличане задава приоритет за стартиране на ресурсите към други страници, отн = subresource дава началото на ресурси се зареждат за текущата страница.

Така че, ако имате нужда от ресурса на текущата страница, или максимално необходимата скоро, по-добро използване subresource. докато в други случаи на предварително извличане на.

Това напълно ядрената опция - изобрази предварително ви позволява активно да свалите всички файлове и ресурси за даден документ:

Но бъдете внимателни. Трябва да сте сигурни, че потребителят въведе върху желаната линка по-горе, в противен случай клиентът ще изтегли всички ресурси напразно за визуализиране на страницата.

Както при всяка превантивна работа, съществува риск, че ще бъде напразно. И ако това е скъпо (отнема много ресурси на процесора, или батерията пада по-отнема много трафик), а след това внимателно се налага. Отгатване намеренията на потребителя може да изглежда сложно, но най-често са следните сценарии: * Ако това е резултат от търсенето и е очевидно, че тази страница е вероятно да бъде зареден. * Ако даден потребител се премества към страницата за вход, а след това на следващата страница ще бъде потвърждение за вход. * Ако потребителят чете статия, разделени в няколко страници, то най-вероятно ще отидете на страницата след текущата.

И накрая, за видимост на страниците API може да се използва за защита срещу навечерието на скриптове, преди те да правят на страницата.

Mu вече обсъдени всички текущи сортове prefetchinga, че е време да се вземат възможностите, които ще бъдат реализирани в бъдеще.

Бъдещи възможности: презареждат

Новата спецификация, се използва за предварително зареждане на ресурсите, които винаги са изтеглени. независимо от браузъра. Ако предварително извличане може да бъде игнориран от браузъра, за да се зареждат предварително средства, поискани от браузъра по никакъв начин.

Въпреки факта, че предварителното натоварване не се поддържа от някой от браузърите, тази идея със сигурност е интересно.

заключение

В очакване какво ще направят потребителите, е необходимо планиране и тестване, но ползите по отношение на резултатите си заслужават. И ако искаме да се подобри ефективността, трябва да експериментирате с тези техники.

Допълнителна информация

Свързани статии

Подкрепете проекта - споделете линка, благодаря!