Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau

A cikin 'yan shekarun nan, ƙarin dandamali don inganta ayyukan gaba-gaba suna ba da dama don ɗaukar nauyin kai ko wakilcin albarkatun ɓangare na uku. Akamai ba ka damar saita takamaiman sigogi don URLs masu ƙirƙira. Cloudflare yana da fasahar Edge Workers. Fasterzine iya sake rubutawa URLs akan shafuffuka domin su nuna ga albarkatun ɓangare na uku da ke kan babban yankin rukunin yanar gizon.

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau

Idan kun san cewa sabis na ɓangare na uku da ake amfani da su a cikin aikinku ba sa canzawa sau da yawa, kuma ana iya inganta tsarin isar da su ga abokan ciniki, to tabbas kuna tunanin ƙaddamar da irin waɗannan ayyukan. Tare da wannan hanyar, zaku iya kusantar da waɗannan albarkatun kusa da masu amfani da ku kuma ku sami ƙarin cikakken iko akan caching ɗin su a gefen abokin ciniki. Wannan, ƙari, yana ba ku damar kare masu amfani daga matsalolin da suka haifar da "hadari" na sabis na ɓangare na uku ko lalata ayyukan sa.

Kyakkyawan: Ingantaccen aiki

Tallace-tallacen kai na wani yana inganta aiki ta hanya bayyananne. Mai binciken baya buƙatar samun damar shiga DNS kuma, baya buƙatar kafa haɗin TCP da yin musafaha TLS akan yanki na ɓangare na uku. Kuna iya ganin yadda ɗaukar nauyin albarkatun wani ke shafar aiki ta hanyar kwatanta alkaluma biyu masu zuwa.

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Ana sauke albarkatun ɓangare na uku daga kafofin waje (an ɗauko daga daga nan)

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Ana adana albarkatun ɓangare na uku a wuri ɗaya da sauran kayan rukunin yanar gizon (an ɗauko daga daga nan)

Hakanan an inganta yanayin ta gaskiyar cewa mai binciken zai yi amfani da ikon yin yawa da ba da fifikon bayanai daga haɗin HTTP/2 wanda aka riga aka kafa tare da babban yanki.

Idan ba ku karbi albarkatun ɓangare na uku ba, to tun da za a ɗora su daga wani yanki daban da na babba, ba za a iya ba su fifiko ba. Wannan zai sa su yi gogayya da juna don ma'aunin bandwidth na abokin ciniki. Wannan na iya haifar da lokutan lodawa don abun ciki mai mahimmanci don gina shafi wanda ya fi tsayi fiye da abin da za'a iya cimmawa a ƙarƙashin ingantattun yanayi. a nan magana akan fifikon HTTP/2 wanda yayi bayanin duk wannan sosai.

Ana iya ɗauka cewa amfani da sifofi a cikin hanyoyin haɗin kai zuwa albarkatun waje preconnect zai taimaka wajen magance matsalar. Koyaya, idan akwai da yawa daga cikin waɗannan hanyoyin haɗin kai zuwa yankuna daban-daban, a zahiri na iya wuce gona da iri akan layin sadarwa a mafi mahimmancin lokaci.

Idan ka dauki nauyin albarkatun ɓangare na uku da kanka, za ka iya sarrafa daidai yadda ake ba da waɗannan albarkatun ga abokin ciniki. Wato muna magana ne akan abubuwa kamar haka:

  • Kuna iya tabbatar da cewa an yi amfani da algorithm na matsa bayanai wanda ya fi dacewa da kowane mai bincike (Brotli/gzip).
  • Kuna iya ƙara lokacin caching don albarkatun waɗanda yawanci ba su da tsayi musamman, har ma tare da sanannun masu samarwa (misali, ƙimar daidai da alamar GA an saita zuwa mintuna 30).

Hakanan kuna iya tsawaita TTL don albarkatu zuwa, faɗi, shekara guda ta hanyar haɗa abubuwan da suka dace cikin dabarun sarrafa caching ɗinku (hashes URL, sigar, da sauransu). Za mu yi magana game da wannan a kasa.

▍ Kariya daga katsewa a cikin ayyukan sabis na ɓangare na uku ko rufe su

Wani al'amari mai ban sha'awa na kayan aikin ɓangare na uku na ɗaukar kai shine yana ba ku damar rage haɗarin da ke tattare da ƙarewar sabis na ɓangare na uku. Bari mu ɗauka cewa an aiwatar da maganin gwajin A/B na ɓangare na uku da kuke amfani da shi azaman rubutun toshewa wanda ke lodawa a sashin kai na shafin. Wannan rubutun yana ɗauka a hankali. Idan rubutun da ya dace ya kasa lodawa, shafin zai zama fanko. Idan ya ɗauki lokaci mai tsawo don lodawa, shafin zai bayyana tare da dogon jinkiri. Ko, a ce aikin yana amfani da ɗakin karatu da aka sauke daga albarkatun CDN na ɓangare na uku. Bari mu yi tunanin cewa wannan albarkatu ta sami gazawa ko kuma an toshe ta a wata ƙasa. Irin wannan yanayin zai haifar da cin zarafi na dabaru na shafin.

Don gano yadda rukunin yanar gizonku ke aiki lokacin da babu sabis na waje, zaku iya amfani da sashin SPOF akan webpagetest.org.

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Sashen SPOF akan webpagetest.org

▍ Me game da matsalolin caching na kayan a browser? (alamu: labari ne)

Kuna iya tunanin cewa yin amfani da CDN na jama'a zai haifar da ingantaccen aikin albarkatu ta atomatik, tunda waɗannan sabis ɗin suna da ingantattun hanyoyin sadarwa masu inganci kuma ana rarraba su a duk duniya. Amma duk abin da yake a zahiri kadan ya fi rikitarwa.

Bari mu ce muna da shafuka daban-daban: website1.com, website2.com, website3.com. Duk waɗannan rukunin yanar gizon suna amfani da ɗakin karatu na jQuery. Muna haɗa shi da su ta amfani da CDN, misali - googleapis.com. Kuna iya tsammanin mai binciken ya zazzagewa ya adana ɗakin karatu sau ɗaya, sannan ya yi amfani da shi a duk shafuka uku. Wannan zai iya rage nauyi akan hanyar sadarwa. Wataƙila wannan zai ba ku damar adana kuɗi a wani wuri kuma ku taimaka inganta aikin albarkatun. Daga ra'ayi mai amfani, komai ya bambanta. Misali, Safari yana da fasalin da ake kira Rigakafin Binciken Sirri: Cache yana amfani da maɓallai biyu bisa tushen daftarin aiki da tushen albarkatun ɓangare na uku. a nan labari mai kyau akan wannan batu.

tsohon karatu Yahoo и Facebook, da kuma na baya-bayan nan binciken Paul Calvano, ya nuna cewa ba a adana albarkatu a cikin ma'ajiyar burauza muddin muna iya tsammanin: "Akwai babban gibi tsakanin lokacin caching na kayan aikin kansa da na ɓangare na uku. Muna magana ne game da CSS da fonts na yanar gizo. Wato, kashi 95% na fonts na asali suna da rayuwar cache fiye da mako guda, yayin da 50% na fonts na ɓangare na uku suna da rayuwar cache na ƙasa da mako guda! Wannan yana ba masu haɓaka gidan yanar gizo dalili mai gamsarwa don ɗaukar fayilolin font da kansu! ”

A sakamakon haka, idan kun karbi bakuncin abubuwan wasu mutane, ba za ku lura da wasu matsalolin aiki da ke haifar da caching browser ba.

Yanzu da muka yi magana game da ƙarfin haɗin kai na ɓangare na uku, bari mu yi magana game da yadda za a nuna kyakkyawar aiwatar da wannan hanyar daga mummunan hanya.

Mummunan: Shaidan yana cikin cikakkun bayanai

Matsar da albarkatun ɓangare na uku zuwa yankin ku ba za a iya yin su ta atomatik ba tare da tabbatar da cewa an adana irin waɗannan albarkatun yadda yakamata.

Daya daga cikin manyan matsalolin anan shine lokacin caching. Misali, bayanin sigar an haɗa shi cikin sunayen rubutun ɓangare na uku kamar haka: jquery-3.4.1.js. Irin wannan fayil ɗin ba zai canza ba a nan gaba, kuma a sakamakon haka wannan ba zai haifar da matsala tare da caching ɗin sa ba.

Amma idan ba a yi amfani da wasu tsarin siga ba yayin aiki tare da fayiloli, rubutun da aka adana, waɗanda abubuwan da ke cikin su ke canzawa yayin da sunan fayil ɗin ya kasance baya canzawa, na iya zama tsohon zamani. Wannan na iya zama babbar matsala, tun da shi, alal misali, baya ƙyale a ƙara facin tsaro na atomatik zuwa rubutun da abokan ciniki ke buƙatar karɓa da sauri. Mai haɓakawa zai yi ƙoƙari don sabunta irin waɗannan rubutun a cikin cache. Bugu da ƙari, wannan na iya haifar da gazawar aikace-aikacen saboda gaskiyar cewa lambar da aka yi amfani da ita a kan abokin ciniki daga cache ya bambanta da sabon nau'in lambar wanda aka tsara sashin uwar garke na aikin.

Gaskiya ne, idan muka yi magana game da kayan da aka sabunta akai-akai (masu sarrafa alamar, mafita don gwajin A / B), to, caching su ta amfani da kayan aikin CDN aiki ne wanda za'a iya warwarewa, amma ya fi rikitarwa. Ayyuka kamar Dokar Kwamandoji, mafita mai sarrafa alamar, yi amfani da ƙugiya yayin buga sabbin nau'ikan. Wannan yana ba ku ikon tilasta cache ruwa a CDN, ko, mafi kyau tukuna, ikon tilasta zanta ko sabunta URL.

▍ Daidaitaccen isar da kayan ga abokan ciniki

Bugu da ƙari, lokacin da muke magana game da caching, muna buƙatar la'akari da gaskiyar cewa saitunan caching da aka yi amfani da su akan CDN bazai dace da wasu albarkatun ɓangare na uku ba. Misali, irin waɗannan albarkatu na iya amfani da fasaha na wasiƙar wakili na mai amfani don ba da takamaiman masu bincike tare da sigar abun ciki da aka inganta musamman don waɗannan masu binciken. Waɗannan fasahohin sun dogara da maganganu na yau da kullun, ko ma'ajin bayanai na bayanan kan HTTP, don gano iyawar mai bincike. User-Agent. Da zarar sun san abin da suke mu'amala da shi, sai su ba shi kayan da aka tsara don shi.

Anan zaka iya tunawa da ayyuka guda biyu. Na farko shine googlefonts.com. Na biyu shine polyfill.io. Sabis ɗin Fonts na Google yana ba da, don takamaiman albarkatu, lambar CSS daban-daban, dangane da iyawar mai binciken (ba da hanyoyin haɗi zuwa albarkatun woff2 ta amfani da unicode-range).

Anan akwai sakamakon tambayoyin Google Fonts guda biyu da aka yi daga masu bincike daban-daban.

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Sakamakon binciken Google Fonts daga Chrome

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Sakamakon tambayar Google Fonts da aka aiwatar daga IE10

Polyfill.io yana ba mai bincike abubuwan da ake buƙata kawai. Ana yin wannan don dalilai na aiki.

Misali, bari mu kalli abin da zai faru idan kun gudanar da buƙatun mai zuwa daga mashina daban-daban: https://polyfill.io/v3/polyfill.js?features=default

Dangane da irin wannan buƙatar da aka aiwatar daga IE10, za a karɓi 34 KB na bayanai. Kuma amsar shi, wanda aka kashe daga Chrome, zai zama fanko.

Fushi: Wasu la'akari da keɓantawa

Wannan batu yana ƙarshe a cikin tsari, amma ba ƙaramin mahimmanci ba. Ma'anar ita ce, karɓar kai na albarkatun ɓangare na uku a kan babban yankin aikin ko a kan yankinsa na iya lalata sirrin masu amfani da mummunan tasiri ga babban aikin gidan yanar gizon.

Idan tsarin CDN ɗinku ba a daidaita shi daidai ba, ƙila za ku iya ƙare aika kukis na yankinku zuwa sabis na ɓangare na uku. Idan ba a tsara tacewa mai kyau a matakin CDN ba, to kukis ɗin zaman ku, waɗanda galibi ba za a iya amfani da su a JavaScript ba (tare da httponly), ana iya aika shi zuwa ga mai masaukin baki.

Wannan shine ainihin abin da zai iya faruwa tare da masu sa ido kamar Eulerian ko Criteo. Ƙila masu sa ido na ɓangare na uku sun saita mai ganowa na musamman a cikin kuki. Idan sun kasance wani ɓangare na kayan rukunin yanar gizon, za su iya karanta mai ganowa bisa ga ra'ayinsu yayin da mai amfani ke aiki da albarkatun yanar gizo daban-daban.

A kwanakin nan, yawancin masu bincike sun haɗa da kariya daga irin wannan dabi'ar tracker. A sakamakon haka, masu bin diddigin yanzu suna amfani da fasaha CNAME Rufe, suna yin rubutun a matsayin rubutun kansu don ayyuka daban-daban. Wato, masu bin diddigi suna ba masu rukunin yanar gizo don ƙara CNAME zuwa saitunan su don wani yanki, adireshin wanda yawanci yayi kama da bazuwar saitin haruffa.

Ko da yake ba a ba da shawarar yin kukis na gidan yanar gizon samuwa ga duk wuraren yanki (misali - *.website.com), shafuka da yawa suna yin haka. A wannan yanayin, ana aika irin waɗannan kukis ta atomatik zuwa wani ɓoyayyiyar tracker na ɓangare na uku. Sakamakon haka, ba za mu iya ƙara magana game da kowane keɓantacce ba.

Hakanan, abu ɗaya yana faruwa tare da masu buga HTTP Abokin ciniki-Bayyana, waɗanda aka aika kawai zuwa babban yanki, tunda ana iya amfani da su don ƙirƙirar dijital yatsa mai amfani. Tabbatar cewa sabis ɗin CDN da kuke amfani da shi yana tace waɗannan rubutun daidai.

Sakamakon

Idan kuna shirin aiwatar da ɗaukar nauyin albarkatun ɓangare na uku nan ba da jimawa ba, bari in ba ku wata shawara:

  • Bayar da mafi mahimmancin ɗakunan karatu na JS, fonts da fayilolin CSS. Wannan zai rage haɗarin gazawar rukunin yanar gizon ko lalacewar aiki saboda albarkatu mai mahimmanci ga rashin samun rukunin yanar gizon saboda kuskuren sabis na ɓangare na uku.
  • Kafin ka adana albarkatun ɓangare na uku akan CDN, tabbatar da cewa ana amfani da wasu nau'ikan tsarin sigar lokacin sunaye fayilolinsu, ko kuma zaku iya sarrafa rayuwar waɗannan albarkatun ta hannu ko sake saita cache CDN ta atomatik lokacin buga sabon sigar. rubutun.
  • Yi hankali sosai game da CDN ɗinku, uwar garken wakili, da saitunan cache. Wannan zai ba ku damar hana aikin ku ko a aika kukis ɗin ku Client-Hints sabis na ɓangare na uku.

Ya ku masu karatu! Kuna karbar bakuncin kayan sauran mutane akan sabar ku waɗanda ke da matukar mahimmanci don gudanar da ayyukanku?

Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau
Kai-bayar da albarkatu na ɓangare na uku: mai kyau, mara kyau, mara kyau

source: www.habr.com

Add a comment