Ni awọn ọdun aipẹ, awọn iru ẹrọ diẹ sii ati siwaju sii fun iṣapeye awọn iṣẹ akanṣe iwaju-ipari nfunni awọn aye fun gbigbalejo ara ẹni tabi aṣoju awọn orisun ẹni-kẹta. Akamai faye gba o lati ṣeto
Ti o ba mọ pe awọn iṣẹ ẹnikẹta ti a lo ninu iṣẹ akanṣe rẹ ko yipada nigbagbogbo, ati pe ilana ti jiṣẹ wọn si awọn alabara le ni ilọsiwaju, lẹhinna o ṣee ṣe ki o ronu nipa aṣoju iru awọn iṣẹ bẹẹ. Pẹlu ọna yii, o le mu awọn orisun wọnyi dara si awọn olumulo rẹ ki o gba iṣakoso pipe diẹ sii lori caching wọn ni ẹgbẹ alabara. Eyi, ni afikun, ngbanilaaye lati daabobo awọn olumulo lati awọn wahala ti o ṣẹlẹ nipasẹ “jamba” ti iṣẹ ẹnikẹta tabi ibajẹ ti iṣẹ rẹ.
O dara: Iṣe ilọsiwaju
Gbigbalejo ara ẹni awọn orisun elomiran ṣe ilọsiwaju iṣẹ ni ọna ti o han gbangba. Aṣàwákiri naa ko nilo lati wọle si DNS lẹẹkansi, ko nilo lati fi idi asopọ TCP kan mulẹ ati ṣe imuwowo TLS kan lori agbegbe ẹni-kẹta. O le wo bii gbigbalejo ara ẹni awọn orisun elomiran ṣe ni ipa lori iṣẹ ṣiṣe nipa ifiwera awọn isiro meji wọnyi.
Awọn orisun ẹnikẹta jẹ igbasilẹ lati awọn orisun ita (ti o gba lati
Awọn orisun ẹni-kẹta ti wa ni ipamọ ni aaye kanna bi iyoku awọn ohun elo aaye (ya lati
Ipo naa tun ni ilọsiwaju nipasẹ otitọ pe ẹrọ aṣawakiri yoo lo agbara lati ṣe pupọ ati ki o ṣe pataki data lati asopọ HTTP / 2 ti a ti fi idi mulẹ pẹlu agbegbe akọkọ.
Ti o ko ba gbalejo awọn orisun ẹnikẹta, lẹhinna niwọn igba ti wọn yoo kojọpọ lati agbegbe ti o yatọ si akọkọ, wọn ko le ṣe pataki. Eyi yoo jẹ ki wọn dije pẹlu ara wọn fun bandiwidi onibara. Eyi le ja si ni awọn akoko ikojọpọ fun akoonu pataki si kikọ oju-iwe kan ti o gun ju ohun ti yoo ṣee ṣe labẹ awọn ipo pipe.
O le ṣe akiyesi pe lilo awọn abuda ni awọn ọna asopọ si awọn orisun ita preconnect
yoo ṣe iranlọwọ lati yanju iṣoro naa. Bibẹẹkọ, ti ọpọlọpọ awọn ọna asopọ wọnyi ba wa si awọn agbegbe oriṣiriṣi, o le ṣe apọju laini ibaraẹnisọrọ ni akoko pataki julọ.
Ti o ba gbalejo awọn orisun ẹni-kẹta funrararẹ, o le ṣakoso bii gangan awọn orisun wọnyi ṣe fun alabara. Ni eyun, a n sọrọ nipa awọn atẹle:
- O le rii daju pe algorithm funmorawon data ti o baamu ẹrọ aṣawakiri kọọkan dara julọ ti lo (Brotli/gzip).
- O le mu akoko caching pọ si fun awọn orisun ti kii ṣe igba pipẹ paapaa, paapaa pẹlu awọn olupese ti o mọ julọ (fun apẹẹrẹ, iye ti o baamu fun tag GA ti ṣeto si awọn iṣẹju 30).
O le paapaa faagun TTL fun orisun kan si, sọ, ọdun kan nipa iṣakojọpọ akoonu ti o yẹ sinu ilana iṣakoso caching rẹ (awọn hashes URL, ikede, ati bẹbẹ lọ). A yoo sọrọ nipa eyi ni isalẹ.
▍ Aabo lodi si awọn idilọwọ ni iṣẹ ti awọn iṣẹ ẹnikẹta tabi tiipa wọn
Apakan igbadun miiran ti gbigbalejo ara ẹni awọn orisun ẹnikẹta ni pe o gba ọ laaye lati dinku awọn eewu ti o nii ṣe pẹlu awọn ijade ti awọn iṣẹ ẹnikẹta. Jẹ ki a ro pe ojutu idanwo A/B ẹni-kẹta ti o nlo ni imuse bi iwe afọwọkọ ìdènà ti o ṣaja ni apakan ori ti oju-iwe naa. Yi akosile èyà laiyara. Ti iwe afọwọkọ ti o baamu ba kuna lati fifuye, oju-iwe naa yoo jẹ ofo. Ti o ba gba akoko pipẹ pupọ lati fifuye, oju-iwe naa yoo han pẹlu idaduro gigun. Tabi, ṣebi iṣẹ akanṣe naa nlo ile-ikawe ti a ṣe igbasilẹ lati orisun CDN ẹni-kẹta. Jẹ ki a fojuinu pe orisun yii ni iriri ikuna tabi ti dina ni orilẹ-ede kan. Iru ipo bẹẹ yoo ja si ilodi si ọgbọn ti aaye naa.
Lati wa bi aaye rẹ ṣe n ṣiṣẹ nigbati diẹ ninu awọn iṣẹ ita ko si, o le lo apakan SPOF lori
SPOF apakan lori webpagetest.org
Kini nipa awọn iṣoro pẹlu caching ti awọn ohun elo ni awọn aṣawakiri? (itọkasi: arosọ ni)
O le ro pe lilo CDN ti gbogbo eniyan yoo yorisi iṣẹ ṣiṣe awọn orisun to dara julọ, niwọn igba ti awọn iṣẹ wọnyi ni awọn nẹtiwọọki ti o ni agbara to gaju ati pe wọn pin kaakiri agbaye. Ṣugbọn ohun gbogbo ni kosi kekere kan diẹ idiju.
Jẹ ki a sọ pe a ni ọpọlọpọ awọn aaye oriṣiriṣi: website1.com, website2.com, website3.com. Gbogbo awọn aaye wọnyi lo ile-ikawe jQuery. A so pọ mọ wọn nipa lilo CDN, fun apẹẹrẹ - googleapis.com. O le nireti aṣawakiri lati ṣe igbasilẹ ati kaṣe ile-ikawe lẹẹkan, ati lẹhinna lo kọja gbogbo awọn aaye mẹta. Eyi le dinku fifuye lori nẹtiwọọki naa. Boya eyi yoo gba ọ laaye lati ṣafipamọ owo ni ibikan ati ṣe iranlọwọ lati mu ilọsiwaju awọn orisun ṣiṣẹ. Lati oju-ọna ti o wulo, ohun gbogbo dabi iyatọ. Fun apẹẹrẹ, Safari ni ẹya ti a pe
atijọ-ẹrọ
Bi abajade, ti o ba gbalejo akoonu awọn eniyan miiran, iwọ kii yoo ṣe akiyesi eyikeyi awọn ọran iṣẹ ṣiṣe nipasẹ caching aṣawakiri.
Ni bayi ti a ti bo awọn agbara ti alejo gbigba ẹni-kẹta, jẹ ki a sọrọ nipa bii a ṣe le sọ imuse to dara ti ọna yii lati ọkan buburu.
Buburu: Bìlísì wa ninu awọn alaye
Gbigbe awọn orisun ẹnikẹta si agbegbe tirẹ ko le ṣee ṣe laifọwọyi laisi idaniloju pe iru awọn orisun ti wa ni ipamọ daradara.
Ọkan ninu awọn iṣoro akọkọ nibi ni akoko caching. Fun apẹẹrẹ, alaye ẹya wa ninu awọn orukọ iwe afọwọkọ ẹni-kẹta bi eleyi: jquery-3.4.1.js
. Iru faili bẹẹ kii yoo yipada ni ọjọ iwaju, ati bi abajade eyi kii yoo fa awọn iṣoro eyikeyi pẹlu caching rẹ.
Ṣugbọn ti a ko ba lo ero ẹya kan nigbati o n ṣiṣẹ pẹlu awọn faili, awọn iwe afọwọkọ ti a fipamọ, awọn akoonu inu eyiti o yipada lakoko ti orukọ faili ko yipada, le di igba atijọ. Eyi le jẹ iṣoro pataki, nitori o, fun apẹẹrẹ, ko gba laaye awọn abulẹ aabo adaṣe lati ṣafikun si awọn iwe afọwọkọ ti awọn alabara nilo lati gba ni yarayara bi o ti ṣee. Olùgbéejáde yoo ni lati ṣe igbiyanju lati ṣe imudojuiwọn iru awọn iwe afọwọkọ ni kaṣe. Ni afikun, eyi le fa awọn ikuna ohun elo nitori otitọ pe koodu ti a lo lori alabara lati kaṣe yatọ si ẹya tuntun ti koodu fun eyiti apakan olupin ti iṣẹ akanṣe ti ṣe apẹrẹ.
Otitọ, ti a ba sọrọ nipa awọn ohun elo ti a ṣe imudojuiwọn nigbagbogbo (awọn alakoso tag, awọn iṣeduro fun idanwo A / B), lẹhinna caching wọn nipa lilo awọn irinṣẹ CDN jẹ iṣẹ-ṣiṣe ti o le ṣe atunṣe, ṣugbọn o jẹ diẹ sii idiju. Awọn iṣẹ bii Ofin Awọn Alakoso, ojutu iṣakoso tag, lo awọn oju opo wẹẹbu nigba titẹjade awọn ẹya tuntun. Eyi fun ọ ni agbara lati fi ipa mu kaṣe kan sori CDN, tabi, dara julọ sibẹsibẹ, agbara lati fi ipa mu hash tabi imudojuiwọn URL kan.
▍ Ifijiṣẹ adaṣe ti awọn ohun elo si awọn alabara
Ni afikun, nigba ti a ba sọrọ nipa caching, a nilo lati ṣe akiyesi otitọ pe awọn eto caching ti a lo lori CDN le ma dara fun diẹ ninu awọn orisun ẹni-kẹta. Fún àpẹrẹ, irú àwọn ohun àmúṣọrọ̀ bẹ le lo ìmọ̀ ẹ̀rọ aṣàmúlò aṣojú onífẹ̀ẹ́ (iṣẹ́ ìṣàfilọ́wọ́gbà) láti sin àwọn aṣàwákiri kan pàtó pẹ̀lú àwọn ẹ̀yà àkóónú tí a ṣàpeye ní pàtàkì fún àwọn aṣàwákiri wọ̀nyẹn. Awọn imọ-ẹrọ wọnyi gbarale awọn ikosile deede, tabi data data ti alaye akọsori HTTP, lati ṣawari awọn agbara aṣawakiri. User-Agent
. Ni kete ti wọn mọ iru ẹrọ aṣawakiri ti wọn nṣe, wọn fun ni awọn ohun elo ti a ṣe apẹrẹ fun rẹ.
Nibi o le ranti awọn iṣẹ meji. Eyi akọkọ jẹ googlefonts.com. Ekeji jẹ polyfill.io. Iṣẹ Awọn Fonts Google n pese, fun orisun kan, ọpọlọpọ koodu CSS, da lori awọn agbara ẹrọ aṣawakiri (fifun awọn ọna asopọ si awọn orisun woff2 nipa lilo unicode-range
).
Eyi ni awọn abajade ti tọkọtaya kan ti awọn ibeere Google Fonts ti a ṣe lati awọn aṣawakiri oriṣiriṣi.
Abajade ibeere Google Fonts lati Chrome
Abajade ibeere Google Fonts ti o ṣiṣẹ lati IE10
Polyfill.io fun ẹrọ aṣawakiri nikan ni awọn kikun polyfill ti o nilo. Eyi ni a ṣe fun awọn idi iṣẹ ṣiṣe.
Fun apẹẹrẹ, jẹ ki a wo ohun ti o ṣẹlẹ ti o ba ṣiṣẹ ibeere atẹle lati awọn aṣawakiri oriṣiriṣi:
Ni idahun si iru ibeere ti a ṣe lati IE10, 34 KB ti data yoo gba. Ati idahun si rẹ, ti a ṣe lati Chrome, yoo jẹ ofo.
Binu: Diẹ ninu awọn ero ikọkọ
Aaye yi ni kẹhin ni ibere, sugbon ko kere pataki. Oro naa ni pe gbigbalejo ti ara ẹni ti awọn orisun ẹnikẹta lori aaye akọkọ ti iṣẹ akanṣe tabi lori subdomain rẹ le ṣe iparun aṣiri awọn olumulo ati ni odi ni ipa lori iṣẹ akanṣe wẹẹbu akọkọ.
Ti eto CDN rẹ ko ba tunto ni deede, o le pari fifi awọn kuki agbegbe rẹ ranṣẹ si iṣẹ ẹnikẹta kan. Ti a ko ba ṣeto sisẹ to dara ni ipele CDN, lẹhinna awọn kuki igba rẹ, eyiti ko ṣe deede lo ni JavaScript (pẹlu awọn httponly
), le jẹ firanṣẹ si alejo gbigba ajeji kan.
Eyi ni pato ohun ti o le ṣẹlẹ pẹlu awọn olutọpa bi Eulerian tabi Criteo. Awọn olutọpa ẹni-kẹta le ti ṣeto idanimọ alailẹgbẹ kan ninu kuki naa. Ti wọn ba jẹ apakan ti awọn ohun elo aaye, wọn le ka idanimọ ni lakaye wọn lakoko ti olumulo n ṣiṣẹ pẹlu awọn orisun wẹẹbu oriṣiriṣi.
Awọn ọjọ wọnyi, ọpọlọpọ awọn aṣawakiri pẹlu aabo lodi si iru ihuwasi olutọpa yii. Bi abajade, awọn olutọpa bayi lo imọ-ẹrọ
Botilẹjẹpe ko ṣe iṣeduro lati jẹ ki awọn kuki oju opo wẹẹbu wa si gbogbo awọn subdomains (fun apẹẹrẹ - *.website.com), ọpọlọpọ awọn aaye ṣe eyi. Ni ọran yii, iru awọn kuki bẹẹ ni a fi ranṣẹ laifọwọyi si olutọpa ẹni-kẹta ti o para. Bi abajade, a ko le sọrọ nipa eyikeyi ikọkọ mọ.
Paapaa, ohun kanna ṣẹlẹ pẹlu awọn akọle HTTP
Awọn esi
Ti o ba n gbero lati ṣe imuse gbigbalejo ara ẹni ti awọn orisun ẹnikẹta laipẹ, jẹ ki n fun ọ ni imọran diẹ:
- Gbalejo awọn ile-ikawe JS pataki julọ rẹ, awọn nkọwe ati awọn faili CSS. Eyi yoo dinku eewu ikuna aaye tabi ibajẹ iṣẹ nitori orisun pataki si aaye naa ko si nitori asise ti iṣẹ ẹnikẹta.
- Ṣaaju ki o to kaṣe awọn orisun ẹni-kẹta lori CDN kan, rii daju pe diẹ ninu iru eto ikede ni a lo nigbati o ba n sọ awọn faili wọn, tabi pe o le ṣakoso awọn igbesi aye ti awọn orisun wọnyi nipasẹ ọwọ tabi tunto kaṣe CDN laifọwọyi nigba titẹjade ẹya tuntun ti akosile.
- Ṣọra gidigidi nipa CDN rẹ, olupin aṣoju, ati awọn eto kaṣe. Eyi yoo gba ọ laaye lati ṣe idiwọ iṣẹ akanṣe rẹ tabi awọn akọle lati firanṣẹ awọn kuki
Client-Hints
kẹta awọn iṣẹ.
Eyin onkawe! Ṣe o gbalejo awọn ohun elo eniyan miiran lori awọn olupin rẹ ti o ṣe pataki pupọ fun ṣiṣe awọn iṣẹ akanṣe rẹ?
orisun: www.habr.com