prefetchinga technológia javítja a teljesítményt a helyszínek

Amikor beszélünk teljesítményt a front-end, amit általában gondolnak a dolgok, mint az összefűzés, minimalizációs, tömörítés és a cache-források a szerver, amely lehetővé teszi az oldal betöltése gyorsabb, és segít elérni a céljait gyorsabb.

Előzetes erőforrás mintát (prefetching) egy másik módszer, amely javítja a teljesítményt. Mi lehet használni, hogy elmondja a böngésző milyen forrásokat lehet szükség a közeljövőben, mielőtt a felhasználó kéri őket igazán.

Prefetching egy módja, hogy megakadályozzák az erőforrás böngésző, amely valószínűleg használható a jövőben egyes figyelmeztetések kapcsolódnak az aktuális oldal, vannak olyanok, hogy a jövőben oldalakon. Ahogy a fejlesztők, tudjuk, hogy az alkalmazások jobb, mint a böngésző. És tudjuk átadni ezt az információt a böngésző.

Az a gyakorlat, jövendölnek a felhasználók igényeit a források nevezik prebrauzing. Ez az összetett kifejezés itt egy sor különböző technikák - dns-előzetes letöltési. subresource. preconnect. a standard előzetes letöltési és Előmegjelenítés.

DNS-előzetes letöltési

Az ő epikus szöveg teljesítményét frontend Harry Roberts azt javasolja, hogy ezt a technikát:

Ez az egyszerű parancsokat támogatja a böngésző, hogy elindítsa a DNS-keresés a megadott tartomány, mielőtt valóban szükséges. Ez azt jelenti, hogy a DNS-keresés folyamatban fejeződik be, amikor szükség van rá, vagyis a böngésző kap egy kicsit előnyt betöltésekor források „prefetchennogo URL”.

preconnect

Ez a módszer nagyon hasonlít a DNS prefetching, de más, mint a DNS feloldás, ez a módszer kezd TCP-kapcsolatok és TLS tárgyalások a biztonságos kapcsolatot.

Ezt az eljárást részletesen a közelmúltban cikket Ilja Grigorika:

Modern böngésző próbálják megjósolni, hogy mely vegyületek lesz szükség helyszíni lekérdezés végrehajtását. Kezdeményezése korai „predsoedineniya”, a böngésző be lehet állítani előre a szükséges aljzatok és távolítsa el a költséges munka DNS, TCP és TLS a kritikus út a jelenlegi kérést. De mivel nem volt fejlett modern böngésző, akkor nem lesz képes lefoglalni a megfelelő predsoedineniya célkitűzések minden területen. A jó hír az, hogy most már meg tudja mondani a böngésző, amely foglalatok előtt ki kell nyitni kezdeményező kérelem miatt predsoedineniya technológia végre a Firefox és a Chrome 39 46!

Ha biztosak vagyunk benne, hogy a fájl feltétlenül igényel egy kis időt, akkor kérheti a böngésző, hogy töltse le előre, és a cache későbbi használatra. Ez lehet egy kép vagy script, vagy bármi mást, tárolt változat a böngésző.

Ellentétben DNS prefetchinga, böngésző kérelmeket és letöltések a szükséges erőforrásokat és elmenti a cache. Ez azonban függ bizonyos feltételek előzetes letöltést lehet figyelmen kívül hagyni a böngésző. Például, ha egy nagy fájlt kérnek font lassú internetkapcsolat. És Firefox előtölti források egyetlen lény a lusta üzemmódban.

Bram Stein a posztjáról a témában azt mondja, hogy tud adni egy jelentős teljesítménynövekedést letöltéskor web betűtípusok. Ezen a ponton font fájlokat letöltés előtt megvárja az építőiparban a DOM és CSSOM. Prefetching megkerüli által okozott teljesítmény problémák.

Megjegyzés: A legfrissebb változat a Chrome és a Firefox, hogy melyik forrásokat már előre töltött be a „Hálózat” Fejlesztőeszközök. Az is hasznos, hogy emlékezzen, hogy nincsenek korlátozások prefetchinga „same-origin”, azaz beállíthatja preload erőforrások bármely területen.

subresource

Tovább prefetchinga technika segít azonosítani forrásokat a legmagasabb prioritást, kérni kell az első. Például a Chrome és az Opera, akkor adjunk a fej következő bejegyzést:

Szerint a dokumentáció Chrome ezt a rekordot a következő:

„LINK rel = subresource” biztosít egy új típusú kommunikációs kapcsolatok nem LINK rel = előzetes letöltési szemantika. Míg rel = előzetes letöltési meghatározza a kiemelt indítást az erőforrásokat más oldalakon, rel = subresource ad korai terhelés erőforrásokat az aktuális oldalon.

Tehát, ha szüksége van a forrás az aktuális oldalon, vagy a szükséges maximális hamarosan jobb kihasználása subresource. míg más esetekben az előzetes letöltési.

Ez a teljesen nukleáris opció - Előmegjelenítés lehetővé teszi, hogy aktívan töltse le a fájlokat és erőforrásokat egy adott dokumentumot:

De légy óvatos. Meg kell bizonyosodni arról, hogy a felhasználó beírja a kívánt linkre, különben a kliens letölti az összes erőforrást, hiába oldalleképezés.

Mint minden megelőző munka, fennáll annak a veszélye, hogy nem lesz hiábavaló. És ha ez költséges (vesz fel sok CPU erőforrások, illetve lemeríti az akkumulátort veszi a nagy forgalmú), akkor óvatosan kell. Kitalálni a felhasználó szándékait tűnhet bonyolult, de ezek közül a leggyakoribbak a következő esetekben: * Ha ez egy keresési eredmény, és nyilvánvaló, hogy ez az oldal valószínűleg betölteni. * Ha a felhasználó mozgatja a bejelentkező oldalra, majd a következő oldalon lesz a belépés visszaigazolást. * Ha a felhasználó olvas egy cikket, osztva az oldalakat, akkor valószínűleg menni a következő oldalra a jelenlegi.

Végül Oldal láthatósága API használható elleni run script előtt tehetik meg az oldalon.

Mu már tárgyalt összes jelenlegi fajták prefetchinga, itt az ideje, hogy a lehetőségeket, amelyek valósul meg a jövőben.

Jövőbeli lehetőségek: preload

Az új specifikáció, használják az előfeszítő a források, amelyek mindig letöltődik. függetlenül a böngésző. Ha prefetching lehet figyelmen kívül hagyni a böngésző előtöltéséhez forrásokat a böngésző által igényelt bármilyen módon.

Annak ellenére, hogy az előfeszítő nem támasztja alá sem a böngészők, ez a gondolat minden bizonnyal érdekes.

következtetés

Mérni, hogy mi teszi a felhasználók számára, hogy megköveteli a tervezés és tesztelés, de a teljesítmény előnyöket megéri. És ha azt akarjuk, hogy a teljesítmény javítása érdekében, meg kell kísérletezni ezekkel a technikákkal.

további irodalom

Kapcsolódó cikkek