Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi

Eminyakeni yamuva nje, izinkundla ezengeziwe zokuthuthukisa amaphrojekthi angaphambili zinikeza amathuba okuba uzibambele wena noma ukuba ngummeleli wezinsiza zezinkampani zangaphandle. I-Akamai ikuvumela ukuthi usethe imingcele ethile kuma-URL azenzele wona. I-Cloudflare inobuchwepheshe be-Edge Workers. I-Fasterzine ingakwazi bhala kabusha Ama-URL asemakhasini ukuze akhombe izinsiza zezinkampani zangaphandle ezitholakala esizindeni esiyinhloko sesayithi.

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi

Uma wazi ukuthi izinsiza zezinkampani zangaphandle ezisetshenziswa kuphrojekthi yakho azishintshi kakhulu, nokuthi inqubo yokuwaletha kumakhasimende ingathuthukiswa, cishe ucabanga ngokwenza ummeleli wezinkonzo ezinjalo. Ngale ndlela, ungakwazi ukusondeza lezi zinsiza kubasebenzisi bakho futhi uthole ukulawula okuphelele kokugcinwa kwazo ohlangothini lweklayenti. Lokhu, ngaphezu kwalokho, kukuvumela ukuthi uvikele abasebenzisi ezinkingeni ezibangelwa "ukuphahlazeka" kwesevisi yenkampani yangaphandle noma ukucekelwa phansi kokusebenza kwayo.

Okuhle: Ukusebenza okuthuthukisiwe

Ukuzibamba izinsiza zomunye umuntu kuthuthukisa ukusebenza ngendlela esobala kakhulu. Isiphequluli asidingi ukufinyelela ku-DNS futhi, asidingi ukusungula uxhumano lwe-TCP futhi senze ukuxhawula kwe-TLS esizindeni somuntu wesithathu. Ungabona ukuthi ukusingathwa kwezinsiza zomunye umuntu kukuthinta kanjani ukusebenza ngokuqhathanisa izibalo ezimbili ezilandelayo.

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Izinsiza zezinkampani zangaphandle zilandwa emithonjeni yangaphandle (ethathwe kuyo kusuka lapha)

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Izinsiza zezinkampani zangaphandle zigcinwa endaweni efanayo nazo zonke ezinye izinto zesayithi (ezithathwe kuyo kusuka lapha)

Isimo siphinde sithuthukiswe yiqiniso lokuthi isiphequluli sizosebenzisa ikhono lokuphindaphinda nokubeka phambili idatha kusuka kuxhumano lwe-HTTP/2 oseluvele lusungulwe ngesizinda esiyinhloko.

Uma ungasingathi izinsiza zenkampani yangaphandle, ngakho-ke njengoba zizolayishwa zisuka esizindeni esihlukile kwesiyinhloko, azikwazi ukubekwa phambili. Lokhu kuzobenza baqhudelane ngomkhawulokudonsa weklayenti. Lokhu kungaholela ezikhathini zokulayisha zokuqukethwe okubalulekile ekwakheni ikhasi elide kakhulu kunalokho obekungafinyelelwa ngaphansi kwezimo ezifanele. Lapha khuluma ngokubekwa phambili kwe-HTTP/2 okuchaza kahle konke lokhu.

Kungacatshangwa ukuthi ukusetshenziswa kwezimfanelo kuzixhumanisi ezinsizeni zangaphandle preconnect kuzosiza ekuxazululeni inkinga. Kodwa-ke, uma lezi zixhumanisi ziningi kakhulu ezizindeni ezihlukene, zingalayisha kakhulu ulayini wokuxhumana ngesikhathi esibaluleke kakhulu.

Uma uzisingatha izinsiza zenkampani yangaphandle ngokwakho, ungalawula ukuthi lezi zinsiza zinikezwa kanjani iklayenti. Okungukuthi, sikhuluma ngalokhu okulandelayo:

  • Ungaqinisekisa ukuthi i-algorithm yokuminyanisa idatha efanele isiphequluli ngasinye iyasetshenziswa (Brotli/gzip).
  • Ungakwazi ukwandisa isikhathi sokulondoloza inqolobane yezinsiza ngokuvamile ezingeside kakhulu, ngisho nabahlinzeki abaziwayo kakhulu (isibonelo, inani elihambisanayo lethegi ye-GA isethwe kumaminithi angu-30).

Ungakwazi ngisho nokunweba i-TTL ibe yinsiza, ukusho, unyaka ngokuhlanganisa okuqukethwe okufanelekile esu lakho lokuphatha inqolobane (ama-URL ama-hash, inguqulo, njll.). Sizokhuluma ngalokhu ngezansi.

▍ Ukuvikelwa ekuphazamisekeni ekusebenzeni kwezinsizakalo zezinkampani zangaphandle noma ukuvalwa kwazo

Esinye isici esithokozisayo sokusingathwa kwezinsiza zezinkampani zangaphandle ukuthi kukuvumela ukuthi unciphise ubungozi obuhlobene nokucisha kwezinsizakalo zezinkampani zangaphandle. Ake sicabange ukuthi isisombululo sokuhlola i-A/B esivela eceleni sisetshenziswa njengesikripthi esivimbayo esilayisha engxenyeni yekhanda yekhasi. Lesi script silayisha kancane. Uma umbhalo ohambisanayo wehluleka ukulayisha, ikhasi lizobe lingenalutho. Uma kuthatha isikhathi eside kakhulu ukulayisha, ikhasi lizovela ngokubambezeleka okude. Noma, ake sithi iphrojekthi isebenzisa umtapo wolwazi olandwe kunsiza ye-CDN yenkampani yangaphandle. Ake sicabange ukuthi le nsiza ihlangabezane nokuhluleka noma ivinjwe ezweni elithile. Isimo esinjalo sizoholela ekwephulwani kwe-logic yesayithi.

Ukuze uthole ukuthi isayithi lakho lisebenza kanjani uma isevisi ethile yangaphandle ingatholakali, ungasebenzisa isigaba se-SPOF kokuthi webpagetest.org.

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Isigaba se-SPOF ku-webpagetest.org

▍Kuthiwani ngezinkinga zokugcinwa kwesikhashana kwezisetshenziswa ezipheqululini? (ukusikisela: inganekwane)

Ungase ucabange ukuthi ukusebenzisa ama-CDN omphakathi kungaholela ngokuzenzakalelayo ekusebenzeni okungcono kwensiza, njengoba lezi zinsizakalo zinamanethiwekhi ekhwalithi ephezulu futhi asatshalaliswa emhlabeni jikelele. Kodwa konke empeleni kuyinkimbinkimbi kakhulu.

Ake sithi sinamasayithi amaningana ahlukene: iwebhusayithi1.com, iwebhusayithi2.com, iwebhusayithi3.com. Wonke lawa masayithi asebenzisa umtapo wezincwadi we-jQuery. Siyixhuma kubo sisebenzisa i-CDN, isibonelo - googleapis.com. Ungalindela ukuthi isiphequluli silande futhi sigcine umtapo wolwazi kanye, bese uyisebenzisa kuwo wonke amasayithi amathathu. Lokhu kunganciphisa umthwalo kunethiwekhi. Mhlawumbe lokhu kuzokuvumela ukuthi wonge imali endaweni ethile futhi usize ukuthuthukisa ukusebenza kwezinsiza. Ngokombono ongokoqobo, yonke into ibonakala ihlukile. Isibonelo, iSafari inesici esibizwa ngokuthi Ukuvimbela Ukulandela Okuqondayo: Inqolobane isebenzisa okhiye abakabili ngokusekelwe kumthombo wedokhumenti kanye nomthombo wensiza yenkampani yangaphandle. Lapha isihloko esihle ngalesi sihloko.

izifundo ezindala Yahoo ΠΈ Facebook, kanye nokwakamuva ukutadisha Paul Calvano, bonisa ukuthi izinsiza azigcinwa kunqolobane yesiphequluli isikhathi eside esingasilindela: β€œKukhona igebe elikhulu phakathi kwesikhathi sokulondoloza isikhashana sezinsiza zephrojekthi kanye nezinkampani zangaphandle. Sikhuluma nge-CSS namafonti ewebhu. Okungukuthi, u-95% wamafonti omdabu anempilo yenqolobane engaphezu kweviki, kuyilapho u-50% wamafonti ezinkampani zangaphandle enempilo yenqolobane engaphansi kweviki! Lokhu kunikeza abathuthukisi bewebhu isizathu esinamandla sokusingatha amafayela efonti ngokwabo!”

Ngenxa yalokho, uma usingatha okuqukethwe kwabanye abantu, ngeke uphawule noma yiziphi izinkinga zokusebenza ezibangelwa ukugcinwa kwesikhashana kwesiphequluli.

Manje njengoba sesimboze amandla okuba ngusokhaya wenkampani yangaphandle, ake sikhulume ngokuthi singasho kanjani ukuqaliswa okuhle kwale ndlela kokubi.

Okubi: Usathane usemininingwaneni

Ukuhambisa izinsiza zezinkampani zangaphandle kuziyise esizindeni sakho ngeke kwenziwe ngokuzenzakalelayo ngaphandle kokuqinisekisa ukuthi izinsiza ezinjalo zigcinwe ngokufanelekile.

Enye yezinkinga ezinkulu lapha isikhathi sokulondoloza isikhashana. Isibonelo, ulwazi lwenguqulo lufakiwe emagameni eskripthi ezinkampani zangaphandle afana nalawa: jquery-3.4.1.js. Ifayela elinjalo ngeke lishintshe esikhathini esizayo, futhi ngenxa yalokho lokhu ngeke kubangele izinkinga nge-caching yalo.

Kodwa uma uhlelo oluthile lwenguqulo lungasetshenziswa lapho kusetshenzwa ngamafayela, imibhalo egcinwe kunqolobane, okuqukethwe kwayo okushintshayo kuyilapho igama lefayela lingashintshiwe, ingase iphelelwe yisikhathi. Lokhu kungaba inkinga engathi sΓ­na, ngoba, ngokwesibonelo, ayikuvumeli ukuvikeleka okuzenzakalelayo ukuthi kwengezwe kumaskripthi amaklayenti adinga ukuyithola ngokushesha okukhulu. Umthuthukisi kuzodingeka enze umzamo wokuvuselela imibhalo enjalo kunqolobane. Ngaphezu kwalokho, lokhu kungabangela ukwehluleka kohlelo lokusebenza ngenxa yokuthi ikhodi esetshenziswe kuklayenti evela kunqolobane ihlukile enguqulweni yakamuva yekhodi lapho ingxenye yeseva yephrojekthi yakhelwe yona.

Yiqiniso, uma sikhuluma ngezinto zokwakha ezibuyekezwa njalo (abaphathi bomaka, izixazululo zokuhlolwa kwe-A/B), bese ukuzifaka kunqolobane usebenzisa amathuluzi e-CDN kuwumsebenzi ongaxazululwa, kodwa uyinkimbinkimbi kakhulu. Amasevisi afana ne-Commanders Act, isixazululo sokuphatha ithegi, sebenzisa ama-webhooks lapho ushicilela izinguqulo ezintsha. Lokhu kukunikeza ikhono lokuphoqelela i-cache flush ku-CDN, noma, okungcono kakhulu, ikhono lokuphoqelela i-hashi noma isibuyekezo se-URL.

▍ Ukulethwa okuguquguqukayo kwezinto kumakhasimende

Ukwengeza, uma sikhuluma nge-caching, sidinga ukucabangela iqiniso lokuthi izilungiselelo ze-caching ezisetshenziswa ku-CDN zingase zingafanelekile kwezinye izinsiza zenkampani yangaphandle. Isibonelo, izinsiza ezinjalo zingasebenzisa ubuchwepheshe bokuhogela komenzeli (ukusebenza okuguquguqukayo) ukuze kunikezwe iziphequluli ezithile ngezinguqulo zokuqukethwe ezilungiselelwe lezo ziphequluli. Lobu buchwepheshe buthembele ezenzweni ezivamile, noma isizindalwazi solwazi lwesihloko se-HTTP, ukuthola amakhono esiphequluli. User-Agent. Uma sebazi ukuthi yisiphi isiphequluli abasebenzisana naso, basinikeza izinto ezidizayinelwe sona.

Lapha ungakhumbula izinkonzo ezimbili. Eyokuqala ithi googlefonts.com. Eyesibili i-polyfill.io. Isevisi ye-Google Fonts inikeza, ngesisetshenziswa esithile, amakhodi e-CSS ahlukahlukene, kuye ngamakhono esiphequluli (ukunikeza izixhumanisi kuzinsiza ze-woff2 kusetshenziswa. unicode-range).

Nansi imiphumela yemibuzo embalwa ye-Google Fonts eyenziwe ngeziphequluli ezahlukahlukene.

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Umphumela wombuzo we-Google Fonts ovela ku-Chrome

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Umphumela wombuzo we-Google Fonts owenziwe ku-IE10

I-Polyfill.io inika isiphequluli kuphela ukugcwaliswa okuningi esikudingayo. Lokhu kwenziwa ngenxa yezizathu zokusebenza.

Isibonelo, ake sibheke ukuthi kwenzekani uma usebenzisa isicelo esilandelayo esivela kuziphequluli ezahlukene: https://polyfill.io/v3/polyfill.js?features=default

Empendulweni yesicelo esinjalo esenziwe ku-IE10, 34 KB yedatha izotholwa. Futhi impendulo kukho, ekhishwe ku-Chrome, izobe ingenalutho.

Ukuthukuthela: Okunye okucatshangelwayo okuyimfihlo

Leli phuzu elokugcina ngokulandelana, kodwa alibalulekile kangako. Iphuzu liwukuthi ukuzibamba ngokwakho kwezinsiza zenkampani yangaphandle esizindeni esiyinhloko sephrojekthi noma esizindeni sayo esingaphansi kungabeka engcupheni ubumfihlo babasebenzisi futhi kuthinte kabi iphrojekthi yewebhu eyinhloko.

Uma isistimu yakho ye-CDN ingalungiselelwanga kahle, ungagcina usuthumela amakhukhi esizinda sakho kusevisi yezinkampani zangaphandle. Uma ukuhlunga okulungile kungahlelwanga ezingeni le-CDN, khona-ke amakhukhi wakho weseshini, ngokuvamile angeke asetshenziswe ku-JavaScript (kanye httponly), ingathunyelwa kumamukeli wangaphandle.

Yilokhu kanye okungenzeka ngama-tracker afana ne-Eulerian noma i-Criteo. Abalandeleli bezinkampani zangaphandle kungenzeka babeke isihlonzi esiyingqayizivele kukhukhi. Uma beziyingxenye yezinto zesayithi, bebekwazi ukufunda isihlonzi ngokubona kwabo ngenkathi umsebenzisi esebenza ngezinsiza ezahlukene zewebhu.

Kulezi zinsuku, iziphequluli eziningi zifaka phakathi ukuvikelwa kulolu hlobo lokuziphatha kwe-tracker. Ngenxa yalokho, abathungathi manje basebenzisa ubuchwepheshe CNAME Ukuvala, bezenza imibhalo yabo yamaphrojekthi ahlukahlukene. Okungukuthi, abalandeleli banikeza abanikazi besayithi ukuthi bengeze i-CNAME kuzilungiselelo zabo zesizinda esithile, ikheli lazo elivame ukubukeka njengesethi yezinhlamvu ezingahleliwe.

Yize kunganconyiwe ukwenza amakhukhi ewebhusayithi atholakale kuzo zonke izizindana (isibonelo - *.website.com), amasayithi amaningi enza lokhu. Kulesi simo, amakhukhi anjalo athunyelwa ngokuzenzakalelayo ku-tracker yenkampani yangaphandle efihliwe. Ngenxa yalokho, ngeke sisakwazi ukukhuluma nganoma ibuphi ubumfihlo.

Futhi, into efanayo yenzeka ngezihloko ze-HTTP Amacebiso Abathengi, ezithunyelwa kuphela esizindeni esiyinhloko, njengoba zingasetshenziswa ukudala izigxivizo zeminwe zedijithali umsebenzisi. Qiniseka ukuthi isevisi ye-CDN oyisebenzisayo ihlunga lezi zihloko ngendlela efanele.

Imiphumela

Uma uhlela ukusebenzisa ukusingathwa kwezinsiza zezinkampani zangaphandle maduze, ake ngikunikeze amathiphu:

  • Singatha imitapo yolwazi ye-JS ebaluleke kakhulu, amafonti namafayela e-CSS. Lokhu kuzonciphisa ingcuphe yokwehluleka kwesayithi noma ukuwohloka kokusebenza ngenxa yesisetshenziswa esibalulekile esenza ukuba isayithi singatholakali ngenxa yephutha lesevisi yenkampani yangaphandle.
  • Ngaphambi kokuthi ufake kunqolobane izinsiza zenkampani yangaphandle ku-CDN, qiniseka ukuthi uhlobo oluthile lwesistimu yokuguqulela luyasetshenziswa lapho uqamba amafayela azo, noma ukuthi ungaphatha umjikelezo wempilo walezi zinsiza ngokwenza noma ngokuzenzakalelayo ukusetha kabusha inqolobane ye-CDN lapho ushicilela inguqulo entsha ye-CDN. umbhalo.
  • Qaphela kakhulu nge-CDN yakho, iseva elibamba, nezilungiselelo zenqolobane. Lokhu kuzokuvumela ukuthi uvimbele iphrojekthi yakho noma izihloko ukuthi zingathunyelwa amakhukhi Client-Hints amasevisi ezinkampani zangaphandle.

Bafundi abathandekayo! Ingabe ubamba izinto zabanye abantu kumaseva akho ezibaluleke kakhulu ekusebenzeni kwamaphrojekthi akho?

Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi
Izinsiza zokuzisingatha zezinkampani zangaphandle: ezinhle, ezimbi, ezimbi

Source: www.habr.com

Engeza amazwana