Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi

Kwiminyaka yakutshanje, ngakumbi nangakumbi amaqonga okuphucula iiprojekthi zokugqibela zibonelela ngamathuba okuzibamba okanye ukuba ngummeli wezixhobo zomntu wesithathu. I-Akamai ikuvumela ukuba usete iiparamitha ezithile ii-URL ezizenzele zona. I-Cloudflare inetekhnoloji ye-Edge Workers. I-Fasterzine inako bhala kwakhona Ii-URL kumaphepha ukuze zikhombe kwimithombo yomntu wesithathu ebekwe kwindawo ephambili yesayithi.

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi

Ukuba uyazi ukuba iinkonzo zeqela lesithathu ezisetyenziswa kwiprojekthi yakho azitshintshi rhoqo, kwaye inkqubo yokuzisa kubathengi inokuphuculwa, mhlawumbi ucinga ngokusebenza njengeproxy iinkonzo ezinjalo. Ngale ndlela, unokuzisa ezi zixhobo kufutshane nabasebenzisi bakho kwaye ufumane ulawulo olupheleleyo ngaphezulu kwe-caching yabo kwicala lomxhasi. Oku, ukongeza, kukuvumela ukuba ukhusele abasebenzisi kwiingxaki ezibangelwa "ukuphazamiseka" kwenkonzo yomntu wesithathu okanye ukuthotywa kokusebenza kwayo.

Okuhle: Ukusebenza okuphuculweyo

Ukuzibamba izibonelelo zomnye umntu kuphucula ukusebenza ngendlela ecacileyo. Isikhangeli asidingi ukufikelela kwi-DNS kwakhona, ayifuni ukuseka uqhagamshelo lwe-TCP kwaye yenze ukuxhawula kwe-TLS kwi-domain yomntu wesithathu. Uyakwazi ukubona ukuba ukuzibamba kwezixhobo zomnye umntu kuchaphazela njani ukusebenza ngokuthelekisa la manani mabini alandelayo.

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Izixhobo zomntu wesithathu zikhutshelwa kwimithombo yangaphandle (ethathwe kwi kusuka apha)

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Izixhobo zomntu wesithathu zigcinwa kwindawo enye kunye nezinye izixhobo zesayithi (ezithathwe kwi kusuka apha)

Imeko iphinda iphuculwe yinto yokuba isikhangeli siya kusebenzisa ukukwazi ukuphindaphinda kunye nokubeka phambili idatha kwi-HTTP / 2 uxhumano olusele lusekwe kunye nesizinda esiphambili.

Ukuba awusimkeli izixhobo zomntu wesithathu, ngoko ke njengoko ziya kulayishwa ukusuka kwindawo eyahlukileyo ukusuka kweyona iphambili, azinakubekwa phambili. Oku kuya kubangela ukuba bakhuphisane omnye nomnye kwi-bandwidth yomxhasi. Oku kunokukhokelela kumaxesha okulayishwa komxholo obalulekileyo ekwakheni iphepha elide kakhulu kunoko kunokufezekiswa phantsi kweemeko ezifanelekileyo. Apha thetha ngokubaluleka kweHTTP/2 echaza yonke le nto kakuhle.

Kunokucingelwa ukuba ukusetyenziswa kweempawu kwiikhonkco kwizibonelelo zangaphandle preconnect iya kunceda ekusombululeni ingxaki. Nangona kunjalo, ukuba maninzi kakhulu kula makhonkco kwimida eyahlukeneyo, inokulayisha ngaphezulu intambo yonxibelelwano ngelona xesha libalulekileyo.

Ukuba ubamba izixhobo zeqela lesithathu ngokwakho, unokulawula ukuba ezi zixhobo zinikwa umxhasi njani. Oko kukuthi, sithetha ngoku kulandelayo:

  • Unokuqinisekisa ukuba i-algorithm yoxinzelelo lwedatha eyilungele kakhulu i-browser nganye isetyenziswa (Brotli/gzip).
  • Unokwandisa ixesha lokugcinwa kwe-caching kwizibonelelo ezihlala zingekho ixesha elide, nokuba ngababoneleli abaziwayo kakhulu (umzekelo, ixabiso elihambelanayo lethegi ye-GA limiselwe kwimizuzu engama-30).

Unako nokwandisa i-TTL kwisixhobo, ukutsho, unyaka ngokubandakanya umxholo ofanelekileyo kwisicwangciso sakho solawulo lwe-caching (i-URL hashes, versioning, njl.). Siza kuthetha ngale nto ngezantsi.

▍Ukhuseleko ekuphazamiseni ukusebenza kweenkonzo zomntu wesithathu okanye ukuvalwa kwazo

Omnye umba onomdla wokuzibamba ngokwakho izixhobo zomntu wesithathu kukuba ikuvumela ukuba unciphise umngcipheko ohambelana nokungabikho kweenkonzo zomntu wesithathu. Makhe sicinge ukuba isisombululo sokuvavanya i-A/B yomntu wesithathu osisebenzisayo siphunyezwa njengeskripthi esithintelayo esilayisha kwicandelo lentloko yephepha. Lo mbhalo ulayisha ngokucothayo. Ukuba umbhalo ohambelanayo uyasilela ukulayisha, iphepha liya kuba lingenanto. Ukuba kuthatha ixesha elide ukulayisha, iphepha liya kuvela ngokulibaziseka okude. Okanye, cinga ukuba iprojekthi isebenzisa ilayibrari ekhutshelweyo kwisixhobo seCDN yomntu wesithathu. Makhe sicinge ukuba lo mthombo ufumene ukusilela okanye wavalwa kwilizwe elithile. Imeko enjalo iya kubangela ukuphulwa kwengqiqo yesayithi.

Ukufumana ukuba isayithi yakho isebenza njani xa enye inkonzo yangaphandle ingafumaneki, ungasebenzisa icandelo le-SPOF webpagetest.org.

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Icandelo le-SPOF kwi-webpagetest.org

▍Kuthekani ngeengxaki zokugcinwa kwemathiriyeli kwizikhangeli? (icebiso: yintsomi)

Unokucinga ukuba ukusebenzisa ii-CDN zoluntu kuya kukhokelela ngokuzenzekelayo ekusebenzeni okungcono kwezixhobo, kuba ezi nkonzo zinothungelwano olukumgangatho ophezulu kwaye zisasazwa kwihlabathi jikelele. Kodwa yonke into eneneni intsonkothe ​​ngakumbi.

Masithi sineendawo ezininzi ezahlukeneyo: iwebhusayithi1.com, iwebhusayithi2.com, iwebhusayithi3.com. Zonke ezi ndawo zisebenzisa ithala leencwadi lejQuery. Sidibanisa nabo ngokusebenzisa i-CDN, umzekelo - googleapis.com. Ungalindela ukuba isikhangeli sikhuphele kwaye sigcine ithala leencwadi kube kanye, kwaye emva koko uyisebenzise kuzo zontathu iisayithi. Oku kunokunciphisa umthwalo kwinethiwekhi. Mhlawumbi oku kuya kukuvumela ukuba ugcine imali kwindawo ethile kwaye uncede ukuphucula ukusebenza kwezibonelelo. Ukusuka kwimbono ebonakalayo, yonke into ibonakala ihlukile. Umzekelo, iSafari inento ebizwa ngokuba yi Uthintelo lokuTrekhoda okuKrelekrele: I-cache isebenzisa izitshixo ezimbini ezisekwe kumthombo woxwebhu kunye nomthombo wesixhobo somntu wesithathu. Apha inqaku elihle kwesi sihloko.

izifundo zakudala Yahoo и Facebook, kunye nezakutshanje kufunda Paul Calvano, bonisa ukuba oovimba abagcinwa kwi-browser cache ixesha elide njengoko sinokulindela: "Kukho umsantsa omkhulu phakathi kwexesha lokulondolozwa kweprojekthi kunye nezixhobo zomntu wesithathu. Sithetha ngeCSS kunye neefonti zewebhu. Oko kukuthi, i-95% yeefonti zomthonyama zinobomi be-cache obungaphezulu kweveki, ngelixa i-50% yeefonti zomntu wesithathu zinobomi be-cache obungaphantsi kweveki! Oku kunika abaphuhlisi bewebhu isizathu esinyanzelisayo sokusingatha iifayile zefonti ngokwabo!

Ngenxa yoko, ukuba ubamba umxholo wabanye abantu, awuyi kuqaphela nayiphi na imiba yokusebenza ebangelwa yi-caching ye-browser.

Ngoku ukuba sigubungele amandla okuzibamba komntu wesithathu, makhe sithethe malunga nendlela yokuxelela ukuphunyezwa okufanelekileyo kwale ndlela ukusuka kwembi.

Okubi: Usathana ukwi details

Ukuhambisa izixhobo zomntu wesithathu kwindawo yakho ayinakwenziwa ngokuzenzekelayo ngaphandle kokuqinisekisa ukuba ezo zixhobo zigcinwe ngokufanelekileyo.

Enye yeengxaki eziphambili apha lixesha le-caching. Umzekelo, ulwazi lwenguqulelo lubandakanyiwe kumagama eskripthi somntu wesithathu njengale: jquery-3.4.1.js. Ifayile enjalo ayiyi kutshintsha kwixesha elizayo, kwaye ngenxa yoko oku akuyi kubangela nayiphi na ingxaki nge-caching yayo.

Kodwa ukuba isikimu soguqulelo asisetyenziswanga xa kusetyenzwa ngeefayile, izikripthi ezigciniweyo, imixholo etshintshayo ngelixa igama lefayile lihlala lingatshintshwa, inokuphelelwa lixesha. Oku kunokuba yingxaki enzulu, kuba yona, umzekelo, ayivumeli iipatches zokhuseleko ezizenzekelayo ukuba zongezwe kwizikripthi ekufuneka abathengi bazifumane ngokukhawuleza. Umphuhlisi kuya kufuneka enze umzamo wokuhlaziya izikripthi ezinjalo kwi-cache. Ukongezelela, oku kunokubangela ukungaphumeleli kwesicelo ngenxa yokuba ikhowudi esetyenzisiweyo kumxhasi ovela kwi-cache ihluke kwinguqu yamva nje yekhowudi apho i-server inxalenye yeprojekthi yenzelwe.

Enyanisweni, ukuba sithetha ngezixhobo ezihlaziywa rhoqo (abaphathi bethegi, izisombululo zokuvavanya i-A / B), emva koko ukugcinwa kwe-caching usebenzisa izixhobo ze-CDN ngumsebenzi onokusombululwa, kodwa unzima kakhulu. Iinkonzo ezifana neCommander Act, isisombululo solawulo lwethegi, sebenzisa ii-webhooks xa upapasha iinguqulelo ezintsha. Oku kukunika amandla okunyanzela i-cache flush kwi-CDN, okanye, ngcono kodwa, ukukwazi ukunyanzela i-hash okanye ukuhlaziywa kwe-URL.

▍Ukuhanjiswa kwezinto kubathengi

Ukongezelela, xa sithetha nge-caching, kufuneka sithathele ingqalelo into yokuba izicwangciso ze-caching ezisetyenziswe kwi-CDN zingenakulungeleka kwezinye izixhobo zomntu wesithathu. Umzekelo, oovimba abanjalo banokusebenzisa iarhente yomsebenzisi ukusezela (i-adaptive service) iteknoloji ukunika iibhrawuza ezithile ezinoguqulelo lomxholo olungiselelwe ngokukodwa ezo bhrawuza. Ezi teknoloji zixhomekeke kwintetho eqhelekileyo, okanye isiseko sedatha ye-HTTP yolwazi lwentloko, ukufumana amandla okukhangela. User-Agent. Bakuba besazi ukuba yeyiphi ibhrawuza abajongana nayo, bayinika imathiriyeli eyenzelwe yona.

Apha unokukhumbula iinkonzo ezimbini. Eyokuqala ithi googlefonts.com. Eyesibini yi-polyfill.io. Inkonzo yeeFonti zikaGoogle ibonelela, kumthombo othile, ikhowudi eyahlukeneyo yeCSS, ngokuxhomekeke kubuchule besikhangeli (ukunika amakhonkco kwizixhobo ze-woff2 usebenzisa unicode-range).

Nazi iziphumo zemibuzo embalwa yeefonti zikaGoogle ezenziwe kwizikhangeli ezahlukeneyo.

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Isiphumo sombuzo weefonti zikaGoogle ukusuka kuChrome

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Iziphumo zombuzo weeFonti zikaGoogle ezenziwe kwiIE10

I-Polyfill.io inika isikhangeli kuphela i-polyfill esiyifunayo. Oku kwenziwa ngenxa yezizathu zokusebenza.

Umzekelo, makhe sijonge ukuba kwenzeka ntoni xa usebenzisa esi sicelo silandelayo kwizikhangeli ezahlukeneyo: https://polyfill.io/v3/polyfill.js?features=default

Ukuphendula kwisicelo esinjalo esenziwe kwi-IE10, kuya kufunyanwa i-34 KB yedatha. Kwaye impendulo kuyo, eyenziwa kwiChrome, ayiyi kuba nanto.

Ukucaphuka: Ezinye izinto ozicingayo ukuba wabucala

Le ngongoma yeyokugqibela ngokulandelelana, kodwa ayibalulekanga kangako. Ingongoma kukuba ukuzibamba kwezixhobo zomntu wesithathu kwi-domain ephambili yeprojekthi okanye kwi-subdomain yayo inokubeka engozini ubumfihlo babasebenzisi kwaye ichaphazele kakubi iprojekthi yewebhu engundoqo.

Ukuba isixokelelwano sakho seCDN ayilungiswanga kakuhle, ungagqibela ngokuthumela indawo yakho ikuki kwinkonzo yomntu wesithathu. Ukuba ucweyo olululo alulungelelaniswanga kwinqanaba le-CDN, ngoko ke iikuki zakho zeseshoni, eziqhele ukusetyenziswa kwiJavaScript (kunye httponly), inokuthunyelwa kumamkeli wamazwe angaphandle.

Yile nto kanye enokwenzeka ngeetracker ezifana ne-Eulerian okanye iCriteo. Abalandeleli beqela lesithathu basenokuba bamisele into efanisa eyodwa kwikuki. Ukuba babeyinxalenye yezixhobo zesayithi, babenokufunda isazisi ngokubona kwabo ngelixa umsebenzisi esebenza ngemithombo eyahlukeneyo yewebhu.

Kule mihla, uninzi lwezikhangeli zibandakanya ukukhuselwa kolu hlobo lokuziphatha komkhondo. Ngenxa yoko, abalandeleli ngoku basebenzisa itekhnoloji CNAME Ukuvala, bezenza ezabo iincwadi zeeprojekthi ezahlukeneyo. Okukuthi, abalandeleli banikezela ngabanini besiza ukuba bongeze i-CNAME kwiisetingi zabo kwindawo ethile, idilesi ehlala ijongeka njengeseti yamagama.

Nangona akukhuthazwa ukwenza iikhukhi zewebhusayithi zifumaneke kuzo zonke ii-subdomains (umzekelo - * .website.com), iindawo ezininzi zenza oku. Kule meko, iikuki ezinjalo zithunyelwa ngokuzenzekelayo kwi-tracker yomntu wesithathu efihliweyo. Ngenxa yoko, asikwazi ukuthetha ngayo nayiphi na imfihlo.

Kwakhona, into efanayo yenzeka ngeentloko zeHTTP Amacebiso omthengi, ezithunyelwa kuphela kwi-domain engundoqo, ekubeni zingasetyenziselwa ukudala umnwe wedijithali umsebenzisi. Qinisekisa ukuba inkonzo ye-CDN oyisebenzisayo izihluzi ezi zihloko ngokuchanekileyo.

Iziphumo

Ukuba uceba ukuphumeza ukuzibamba kwezixhobo zeqela lesithathu kungekudala, mandikunike iingcebiso:

  • Bamba awona mathala eencwadi e-JS abalulekileyo, iifonti kunye neefayile zeCSS. Oku kuya kunciphisa umngcipheko wokungaphumeleli kwesiza okanye ukuthotywa komgangatho wokusebenza ngenxa yesixhobo esibalulekileyo kwisiza esingafumanekiyo ngenxa yempazamo yenkonzo yomntu wesithathu.
  • Ngaphambi kokuba ugcine izixhobo zomntu wesithathu kwi-CDN, qiniseka ukuba uhlobo oluthile lwenkqubo yoguqulelo lusetyenziswa xa ubiza iifayile zabo, okanye ukuba unokulawula umjikelo wobomi bezi zibonelelo ngokucwangcisa kwakhona ngesandla okanye ngokuzenzekelayo i-CDN cache xa upapasha inguqulelo entsha ye iskripthi.
  • Lumka kakhulu malunga ne-CDN yakho, iseva engummeli, kunye nesetingi se-cache. Oku kuya kukuvumela ukuba uthintele iprojekthi yakho okanye iiheader ekuthunyelweni kweekuki Client-Hints iinkonzo zeqela lesithathu.

Bafundi abathandekayo! Ngaba uyazibamba izixhobo zabanye abantu kwiiseva zakho ezibaluleke kakhulu ekusebenzeni kweeprojekthi zakho?

Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi
Ukuzibamba ngokwakho izixhobo zomntu wesithathu: ezilungileyo, ezimbi, ezimbi

umthombo: www.habr.com

Yongeza izimvo