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.