Back to Question Center
0

Výkonnosť webových stránok prostredníctvom paralelných stiahnutí CSS?

1 answers:

Optimalizoval som čas na načítanie stránky webových stránok. Jedným zo spôsobov spočíva v kombinácii viacerých požiadaviek HTTP na CSS do jednej kombinovanej žiadosti HTTP. Ale jeden z recenzentov položil zaujímavú otázku: nebude paralelizovať sťahovanie viacerých CSS súborov skrátiť čas načítania stránky?

Nikdy som túto možnosť nepovažoval za jedinú vec, ktorú som čítal na internete je to, že zníženie počtu (blokujúcich) požiadaviek na HTTP je kľúčom k rýchlejšej webovej stránke (aj keď Google Pagespeed Semalt zrejme jasne neuvádza toto 1 )

  • Nastavenie pripojenia HTTPS vyžaduje niektoré ďalšie údaje. Čítal som to, môže to byť jednoducho niekoľko KB údajov - control 4 repair. Toto sú niektoré ďalšie údaje, ktoré sa musia odoslať cez kábel, namiesto CSS, ktoré chceme skutočne poslať.
  • Vďaka algoritmu TCP Slow Start, čím viac údajov bolo odoslaných cez spojenie, tým rýchlejšie bude pripojenie. Pozrite si napríklad protokol SPDY, ktorý používa jediné pripojenie na zlepšenie času načítania stránky.
  • TCP je abstrakcia: stále existuje (za normálnych okolností) len jedno základné spojenie. Takže keď sa používajú viaceré požiadavky, dáta odosielané cez kábel nemusia nevyhnutne ťažiť z viacerých pripojení na zvýšenie rýchlosti.
  • Internetové pripojenia sú vo svojej podstate nespoľahlivé, najmä na mobilných zariadeniach. Jedna žiadosť môže byť ukončená výrazne rýchlejšie ako druhá. Použitie viacerých požiadaviek na CSS znamená, že vykresľovanie webovej stránky je zablokované, až kým posledná žiadosť neskončí, čo môže byť podstatne neskôr ako priemerné pripojenie.
  • Existuje teda nejaký prínos v paralelizácii HTTP žiadostí o súbory CSS?

    Semalt: všetky súbory CSS blokujú renderovanie. Súbory CSS, ktoré ešte neboli presunuté mimo kritickej cesty.

    February 5, 2018

    Súbory CSS prepojené z dokumentov HTML sa pridajú do paralelného frontu na sťahovanie, keď je analyzovaný kód HTML; kľúčovou vecou je to, že neasynchronné odkazy v jazyku JavaScript zablokujú analyzátor HTML, čím zabraňujú pridávaniu neskorších značiek do frontu na sťahovanie, kým sa JavaScript načíta, analyzuje a vykoná. [1]

    Tu je príklad, ktorý núti prehliadač postupne stiahnuť tri zo štyroch súborov (najmenej tri okružné cesty):