Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Tekintsük erőforrás tippeket és tanácsokat (Resource Tanácsok). Ezek az eszközök felgyorsítja weboldalak és webes alkalmazások. Nézzük a különbség a tippeket preload, előbeolvasási és preconnect. Ez segít, hogy használja őket sikeresen. Íme néhány az előnyei:

1) optimalizálja a szállítási erőforrások
2) mennyiségének csökkentésére a hálózati késedelmek;
3) tartalmat gyorsabban - egy időben, miközben a felhasználó nézi az oldalt.

1. irányelv preload

Mi a preload eltér az előzetes letöltési? Előretöltés együttműködik az aktuális navigációra és forrásokat kiemelten kezeli. Prefetch - források alacsony prioritást a következő navigációs. Megjegyezzük, hogy az előfeszítés nem blokkolja az ablak esemény onload.

1.1. Az előnye, preload irányelv

Itt van néhány előnye preload értelmében:

  • Ez lehetővé teszi a böngésző, hogy létrehoz egy erőforrás prioritás. ez viszont lehetővé teszi, hogy a webfejlesztők optimalizálja a források.
  • Ez lehetővé teszi a böngésző, hogy megtudja, milyen típusú erőforrás. ez viszont lehetővé teszi, hogy látni, hogy ugyanazt az erőforrást használja fel újra a jövőben.
  • Lehetővé teszi a böngészőt, hogy megtudja, hogy a kérelem összeegyeztethető a tartalom biztonsági politika összhangban attribútum.
  • Lehetővé teszi, hogy a böngésző elküldi a megfelelő fogadja fejlécek alapján forrás típusát (például kép / webp).

1.2. példák

Itt van egy nagyon egyszerű példát kép előfeszítő.

Az alábbiakban egy példát előfeszítő betűtípusokat.

Megjegyzés. Amikor előfeszítő engedélyek CORS szükségletre crossorigin tulajdonság.

1.3. Böngésző támogatás preload

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

2. Prefetch

Prefetch - alacsony prioritású erőforrás tooltip, amelyekkel ki lehet választani a böngésző a háttérben (a szabad idő) a források, hogy hasznos lesz később, és mentse őket a böngésző cache. Miután az oldal betöltése befejeződött, előzetes letöltési betölti néhány további forrásokat. Ha a felhasználó megnyomja az előzetes letöltési-link, előzetes letöltési azonnal betölti a kontextusban. Három különböző típusú előzetes letöltési, alább:

1) referencia;
2) a DNS;
3) előmegjelenítési.

A 3. ábra négy lépést végző Referencia előzetes letöltési.

2. lépés (2. lépés). A böngésző előzetes letöltési-link (Böngésző találja előzetes letöltési linkeket).

3. lépés (3. lépés). Böngésző kiválasztja a kért tartalmat megmutatni a előzetes letöltési oldalt képernyőn. Ugyanakkor a tartalom a cache, amíg a felhasználó rákattint a hivatkozásra. Mutatja a böngésző cache.

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 3. Négy referencia előzetes letöltési végrehajtási lépésben

2.1. Referencia előzetes letöltési

Mint már említettük, referencia előzetes letöltési lehetővé teszi a böngésző, hogy kiválassza a források és tárolja azokat a gyorsítótárat. utal. akkor mi a felhasználó kéri őket. A böngésző megkeresi előzetes letöltési a HTML tag vagy a címében Link:

  • HTML:
  • HTTP fejléc: Link: ; rel = előzetes letöltési

Megjegyzés. „Ez a technika felgyorsítja számos interaktív oldalak, de nem fog működni mindig és mindenhol a következő okok miatt:

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

2.2. DNS előzetes letöltési

A előzetes letöltési DNS lehetővé teszi a böngésző, hogy végre névfeloldással az oldalon a háttérben. míg a felhasználó böngészi a honlapot. Ez csökkenti a várakozási idő, mert a DNS-keresés már megtörtént, amikor a felhasználó rákattint a hivatkozásra.

DNS előzetes letöltési szereplő URL-egy attribútum a link tag: rel = »előzetes letöltési». Google használt betűtípusok, a Google Analytics és CDN.

«DNS-lekérdezések gyorsabban szempontjából sávszélesség, de látencia magas lehet, különösen a mobil hálózatok. Elméletileg DNS előzetes letöltési jelentősen csökkentheti a várakozási idő bizonyos időpontokban, például ha a felhasználó rákattint a hivatkozásra. Előfordul, hogy a várakozási idő csökkenthető a teljes második. "

Mozilla Developer Network.

Azt is használják a források elosztását. Itt egy példa:

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 5. DNS előzetes letöltési 10 hosts jövőbeni letöltéseket. Az első oszlop a gazdagép nevét. Második - Meddig (hh: mm: ss). harmadik - Forrás

Ön is használja Pagespeed-szűrő insert_dns_prefetch, amely hozza címkék A cím az oldal automatikusan minden domain, illetve speciális szolgáltatásokat, mint például a Ayri.rf.

Mintegy Pagespeed-szűrő, lásd. Egy rövid cikket „csomag Page Speed ​​a Google-tól» a Habrahabr

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

2.3. Előmegjelenítés

«Előmegjelenítés Tipp az alkalmazás által használt, hogy jelezze a következő valószínűleg célok HTML-navigáció. Ebben az esetben a kliens választja ki és dolgozza fel a megadott erőforrást egy HTML-válasz. De ahhoz, hogy válasszon egy másik típusú tartalom, illetve ha előzetes feldolgozási HTML nem kívánatos, az alkalmazás egy másik prompt - előzetes letöltési ».

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 7 vázlatosan mutatja, hogy a tag indul Előmegjelenítés

Óvatosságra van szükség a Előmegjelenítés, akkor - a nagy erőforrás, és annak használata okozhat egy csepp sávszélesség, különösen a mobil eszközök.

A 8. ábra egy példa a csekk Előmegjelenítés Chrome-on keresztül: // net-internals / # Előmegjelenítés

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 8. példa megtekintéséhez Előmegjelenítés keresztül chrome: // net-belső / # Előmegjelenítés

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Prefetch van néhány hátránya, mint a problémák a magánélet.

3. preconnect

Végül, úgy preconnect. Preconnect lehetővé teszi a böngésző, hogy létrehoz egy kapcsolatot, mielőtt a HTTP-kérést kell küldeni a szerver. Ez az eljárás magában DNS kereséseket, „tárgyalások» TLS és a „kézfogás» TCP. Ami viszont megszünteti a köralakú késleltetés és elmenti a felhasználó időt.

«Preconnect - fontos eszköz, hogy optimalizálja ... mert kiküszöböli a költséges késések körpályán a kérelmet. Előfordul, hogy a várakozási idő a kérelem csökken több száz, sőt több ezer milliszekundum. "

Ilya Grigorik (Eng. Ilya Grigorik).

A 10. ábra összehasonlítja idő DNS / TCP / TLS indíts preconnect nélkül. A felső részén a ábra mutatja a letöltési idő használata nélkül preconnect, egyenlő 2.6. Az alábbiakban - a preconnect betöltési idő 2,1 másodperc.

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 10. Összehasonlító idő DNS / TCP / TLS indító vagy anélkül preconnect

Ebben a konkrét esetben preconnect eltávolítja három kör késedelem kritikus út és csökkenti a várakozási idő több mint fél másodperccel.

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Ábra. 11. Példa preconnect Google betűtípusok

Hogyan kell használni az előfeszítés, előzetes letöltési és preconnect felgyorsítása helyszínen

Talán most a felismerés, hogy vannak preload, előzetes letöltési és preconnect volt kicsit jobban. És azt is használja a stratégia, hogy gyorsítsa fel a tartalomszolgáltatás. Jó lenne, ha a használat a preload irányelv növekedni fog az elkövetkező hónapokban, és a webes fejlesztők elfogadja azt.