د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد

په وروستي کلونو کې، د مخکښې پای پروژې د ښه کولو لپاره ډیری پلیټ فارمونه د ځان کوربه کولو یا د دریمې ډلې سرچینو پراکسي کولو فرصتونه وړاندې کوي. اکامي تاسو ته اجازه درکوي چې تنظیم کړئ ځانګړي پارامترونه د ځان جوړ شوي URLs لپاره. Cloudflare د Edge Workers ټیکنالوژي لري. فاسټرزین کولی شي بیا لیکل په پاڼو کې URLs د دې لپاره چې دوی د دریمې ډلې سرچینې ته اشاره کوي چې د سایټ په اصلي ډومین کې موقعیت لري.

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد

که تاسو پوهیږئ چې ستاسو په پروژه کې کارول شوي د دریمې ډلې خدمتونه ډیر ځله نه بدلیږي، او دا چې پیرودونکو ته یې د سپارلو پروسه ښه کیدی شي، نو تاسو شاید د داسې خدماتو د پراکسي کولو په اړه فکر کوئ. د دې تګلارې سره، تاسو کولی شئ دا سرچینې خپلو کاروونکو ته نږدې کړئ او د پیرودونکي اړخ کې د دوی کیشینګ باندې ډیر بشپړ کنټرول ترلاسه کړئ. دا، برسېره پردې، تاسو ته اجازه درکوي چې کاروونکي د دریمې ډلې خدماتو "حادثې" یا د هغې د فعالیت کمولو له امله د ستونزو څخه خوندي کړي.

ښه: ښه فعالیت

د بل چا د سرچینو ځان کوربه کول په خورا څرګند ډول فعالیت ته وده ورکوي. براوزر بیا DNS ته لاسرسي ته اړتیا نلري ، دا اړتیا نلري چې د TCP پیوستون رامینځته کړي او د دریمې ډلې ډومین کې د TLS لاسونه ترسره کړي. تاسو کولی شئ وګورئ چې څنګه د بل چا د سرچینو ځان کوربه کول د لاندې دوه ارقامو پرتله کولو سره فعالیت اغیزه کوي.

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
د دریمې ډلې سرچینې د بهرنیو سرچینو څخه ډاونلوډ شوي (له دې څخه اخیستل شوي له دې ځایه)

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
د دریمې ډلې سرچینې په ورته ځای کې ساتل کیږي لکه د سایټ پاتې توکي (له دې څخه اخیستل شوي له دې ځایه)

وضعیت د دې حقیقت له مخې هم ښه شوی چې براوزر به د HTTP/2 اتصال څخه ډیټا ته د ملټي پلیکس کولو او لومړیتوب ورکولو وړتیا وکاروي چې دمخه د اصلي ډومین سره رامینځته شوی.

که تاسو د دریمې ډلې سرچینې کوربه نه کوئ، نو ځکه چې دوی به د اصلي ډومین څخه مختلف وي، نو دوی ته لومړیتوب نشي ورکول کیدی. دا به د دې لامل شي چې دوی د پیرودونکي بینډ ویت لپاره د یو بل سره سیالي وکړي. دا کولی شي د یوې پاڼې جوړولو لپاره د مهم محتوياتو لپاره د بارولو وخت وي چې د هغه څه څخه ډیر اوږد وي چې په مثالي شرایطو کې د لاسته راوړلو وړ وي. دلته د HTTP/2 لومړیتوبونو په اړه خبرې وکړئ چې دا ټول خورا ښه تشریح کوي.

دا فرض کیدی شي چې د بهرنیو سرچینو سره په اړیکو کې د ځانګړتیاوو کارول preconnect د ستونزې په حل کې به مرسته وکړي. په هرصورت، که چیرې د مختلفو ډومینونو لپاره دا ډیری لینکونه شتون ولري، دا واقعیا کولی شي په خورا مهم وخت کې د اړیکو لاین ډیر کړي.

که تاسو پخپله د دریمې ډلې سرچینې کوربه کوئ، تاسو کولی شئ کنټرول کړئ چې دا سرچینې څنګه مراجعینو ته ورکول کیږي. د مثال په توګه، موږ د لاندې په اړه خبرې کوو:

  • تاسو کولی شئ ډاډ ترلاسه کړئ چې د ډیټا کمپریشن الګوریتم چې د هر براوزر لپاره غوره مناسب دی کارول کیږي (بروټلي / جیزپ).
  • تاسو کولی شئ د سرچینو لپاره د کیچ کولو وخت زیات کړئ چې معمولا په ځانګړي ډول اوږد نه وي، حتی د خورا مشهور چمتو کونکو سره (د مثال په توګه، د GA ټګ لپاره ورته ارزښت 30 دقیقو ته ټاکل شوی).

تاسو حتی کولی شئ د یوې سرچینې لپاره TTL وغځوئ ترڅو یو کال ستاسو د کیشینګ مدیریت ستراتیژۍ کې د اړونده مینځپانګې شاملولو سره (د URL هشونه ، نسخه کول او نور). موږ به لاندې په دې اړه خبرې وکړو.

▍د دریمې ډلې خدماتو یا د دوی بندیدو په عملیاتو کې د مداخلو پروړاندې محافظت

د دریمې ډلې سرچینو د ځان کوربه توب بل په زړه پوری اړخ دا دی چې دا تاسو ته اجازه درکوي د دریمې ډلې خدماتو بندیدو پورې اړوند خطرونه کم کړئ. راځئ فرض کړو چې د دریمې ډلې A/B ازموینې حل چې تاسو یې کاروئ د بلاک کولو سکریپټ په توګه پلي کیږي چې د پاڼې په سر برخه کې بار کیږي. دا سکریپټ ورو ورو پورته کیږي. که اړونده سکریپټ په بار کولو کې پاتې راشي، پاڼه به خالي وي. که دا پورته کولو لپاره ډیر وخت ونیسي، پاڼه به د اوږد ځنډ سره ښکاره شي. یا، فرض کړئ چې پروژه د دریمې ډلې CDN سرچینې څخه ډاونلوډ شوی کتابتون کاروي. راځئ چې تصور وکړو چې دا سرچینه ناکامه شوې یا په یو ځانګړي هیواد کې بنده شوې. دا ډول حالت به د سایټ د منطق څخه سرغړونه وکړي.

د دې لپاره چې معلومه کړئ چې ستاسو سایټ څنګه کار کوي کله چې ځینې بهرني خدمتونه شتون نلري، تاسو کولی شئ د SPOF برخه وکاروئ webpagetest.org.

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
په webpagetest.org کې د SPOF برخه

▍ په براوزرونو کې د موادو د ذخیره کولو ستونزې په اړه څه؟ (اشاره: دا افسانه ده)

تاسو شاید فکر وکړئ چې د عامه CDNs کارول به په اوتومات ډول د سرچینو غوره فعالیت لامل شي ، ځکه چې دا خدمات په کافي اندازه لوړ کیفیت لرونکي شبکې لري او په ټوله نړۍ کې توزیع شوي. مګر هرڅه په حقیقت کې یو څه ډیر پیچلي دي.

راځئ چې ووایو موږ ډیری مختلف سایټونه لرو: website1.com، website2.com، website3.com. دا ټول سایټونه د jQuery کتابتون کاروي. موږ دا د CDN په کارولو سره له دوی سره وصل کوو، د بیلګې په توګه - googleapis.com. تاسو کولی شئ د براوزر څخه تمه وکړئ چې یوځل کتابتون ډاونلوډ او کیش کړي ، او بیا یې په ټولو دریو سایټونو کې وکاروئ. دا کولی شي په شبکه کې بار کم کړي. شاید دا به تاسو ته اجازه درکړي چې چیرې پیسې خوندي کړئ او د سرچینو فعالیت ښه کولو کې مرسته وکړئ. د عملي لید څخه، هرڅه مختلف ښکاري. د مثال په توګه، سفاري په نوم یو ځانګړتیا لري د هوښیار تعقیب مخه: کیچ د سند د سرچینې او د دریمې ډلې سرچینې سرچینې پراساس دوه ګونی کیلي کاروي. دلته په دې موضوع ښه مقاله.

زاړه مطالعې د ياهو и فیسبوکاو همدارنګه نور وروستي څیړنه پاول کالوانو، وښيي چې سرچینې د براوزر په کیچونو کې تر هغه وخته پورې ندي زیرمه شوي چې موږ یې تمه کولی شو: "د پروژې د خپل او دریمې ډلې سرچینو د کیچ کولو وخت ترمینځ جدي واټن شتون لري. موږ د CSS او ویب فونټونو په اړه خبرې کوو. د مثال په توګه، د اصلي فونټونو 95٪ د یوې اونۍ څخه ډیر د کیچ ژوند لري، پداسې حال کې چې د دریمې ډلې فونټونو 50٪ د یوې اونۍ څخه کم د کیچ ژوند لري! دا د ویب پراختیا کونکو ته یو زړه راښکونکی دلیل ورکوي چې پخپله د فونټ فایلونو کوربه توب وکړي!

د پایلې په توګه، که تاسو د نورو خلکو مینځپانګه کوربه کړئ، نو تاسو به د براوزر کیچ کولو له امله د فعالیت کومه ستونزه ونه ګورئ.

اوس چې موږ د دریمې ډلې ځان کوربه توب ځواک پوښلی ، راځئ چې د دې په اړه وغږیږو چې څنګه د دې کړنلارې ښه پلي کول له بد څخه.

بد: شیطان په تفصیل کې دی

ستاسو خپل ډومین ته د دریمې ډلې سرچینې لیږدول په اتوماتيک ډول نشي ترسره کیدی پرته له دې چې ډاډ ترلاسه کړي چې دا ډول سرچینې په سمه توګه ساتل شوي.

دلته یو له اصلي ستونزو څخه د کیشینګ وخت دی. د مثال په توګه، د نسخې معلومات د دریمې ډلې سکریپټ نومونو کې شامل دي لکه: jquery-3.4.1.js. دا ډول فایل به په راتلونکي کې بدلون ونلري، او د پایلې په توګه به د دې کیچ کولو سره کومه ستونزه رامینځته نشي.

مګر که چیرې د فایلونو سره کار کولو پرمهال د نسخې ځینې سکیم نه کارول کیږي ، کیش شوي سکریپټونه ، د هغه مینځپانګې بدلیږي پداسې حال کې چې د فایل نوم بدل شوی نه وي ، ممکن زوړ شي. دا یوه جدي ستونزه کیدی شي، ځکه چې دا، د بیلګې په توګه، په سکریپټونو کې د اتوماتیک امنیتي پیچونو اضافه کولو ته اجازه نه ورکوي چې پیرودونکي باید ژر تر ژره ترلاسه کړي. پراختیا کونکی باید هڅه وکړي چې دا ډول سکریپټونه په زیرمه کې تازه کړي. سربیره پردې ، دا د دې حقیقت له امله د غوښتنلیک ناکامۍ لامل کیدی شي چې د کیچ څخه په پیرودونکي کې کارول شوی کوډ د کوډ له وروستي نسخې سره توپیر لري د کوم لپاره چې د پروژې سرور برخه ډیزاین شوې.

ریښتیا، که موږ د هغو موادو په اړه وغږیږو چې په مکرر ډول تازه کیږي (د ټګ مدیران، د A/B ازموینې لپاره حلونه)، نو بیا د CDN وسیلو په کارولو سره د دوی زیرمه کول یو کار دی چې حل کیدی شي، مګر خورا پیچلی دی. خدمتونه لکه د کمانډرز قانون، د ټاګ مدیریت حل، د نوې نسخې خپرولو پر مهال ویب هکس کاروي. دا تاسو ته وړتیا درکوي چې په CDN کې د کیچ فلش مجبور کړئ، یا، تر دې دمه، د هش یا URL تازه کولو مجبورولو وړتیا.

▍ مشتریانو ته د موادو تطبیق

برسېره پردې، کله چې موږ د کیچ کولو په اړه خبرې کوو، موږ باید دا حقیقت په پام کې ونیسو چې په CDN کې کارول شوي کیشینګ ترتیبات ممکن د دریمې ډلې سرچینو لپاره مناسب نه وي. د مثال په توګه، دا ډول سرچینې ممکن د کاروونکي اجنټ سنیفینګ (تخلیق خدمت کولو) ټیکنالوژي وکاروي ترڅو ځانګړي براوزرونو ته خدمت وکړي چې د مینځپانګې نسخې سره په ځانګړي ډول د دې براوزرونو لپاره غوره شوي. دا ټیکنالوژي په منظم بیانونو تکیه کوي، یا د HTTP سرلیک معلوماتو ډیټابیس، د براوزر وړتیاو معلومولو لپاره. User-Agent. یوځل چې دوی پوه شي چې کوم براوزر ورسره معامله کوي ، دوی ورته د دې لپاره ډیزاین شوي توکي ورکوي.

دلته تاسو دوه خدمتونه یادولی شئ. لومړی یې googlefonts.com دی. دوهم یې polyfill.io دی. د ګوګل فونټ خدمت د یوې ټاکلې سرچینې لپاره مختلف CSS کوډ چمتو کوي ، د براوزر وړتیاو پورې اړه لري (په کارولو سره د woff2 سرچینو ته لینکونه ورکول. unicode-range).

دلته د مختلف براوزرونو څخه رامینځته شوي د ګوګل فونټ څو پوښتنو پایلې دي.

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
د کروم څخه د ګوګل فونټ پوښتنې پایله

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
د IE10 څخه اجرا شوي د ګوګل فونټ پوښتنې پایله

Polyfill.io براوزر یوازې هغه پولیفیلونه ورکوي چې ورته اړتیا لري. دا د فعالیت دلیلونو لپاره ترسره کیږي.

د مثال په توګه، راځئ چې وګورو چې څه پیښیږي که تاسو د مختلف براوزرونو څخه لاندې غوښتنه پرمخ وړئ: https://polyfill.io/v3/polyfill.js?features=default

د IE10 څخه اجرا شوي د ورته غوښتنې په ځواب کې، 34 KB ډاټا به ترلاسه شي. او د دې ځواب، د کروم څخه اعدام شوی، به خالي وي.

په غوسه: د محرمیت ځینې نظرونه

دا ټکی په ترتیب کې وروستی دی، مګر لږ مهم نه دی. خبره دا ده چې د پروژې په اصلي ډومین یا د هغې فرعي ډومین کې د دریمې ډلې سرچینو ځان کوربه کول کولی شي د کاروونکو محرمیت له خطر سره مخ کړي او په اصلي ویب پروژه منفي اغیزه وکړي.

که ستاسو د CDN سیسټم په سمه توګه ترتیب شوی نه وي، تاسو ممکن د دریمې ډلې خدمت ته د خپل ډومین کوکیز لیږل پای ته ورسوئ. که مناسب فلټر کول د CDN په کچه تنظیم نه وي، نو ستاسو د سیشن کوکیز، کوم چې معمولا په جاواسکریپټ کې نشي کارول کیدی (د httponly)، کیدای شي یو بهرني کوربه ته واستول شي.

دا واقعیا هغه څه دي چې د یولیرین یا کریټیو په څیر د ټریکرانو سره پیښ کیدی شي. د دریمې ډلې تعقیب کونکي ممکن په کوکي کې یو ځانګړی پیژندونکی ټاکلی وي. که دوی د سایټ موادو برخه وي، دوی کولی شي پیژندونکی د دوی په اختیار کې ولولي پداسې حال کې چې کاروونکي د مختلف ویب سرچینو سره کار کوي.

پدې ورځو کې ، ډیری براوزرونه د دې ډول ټریکر چلند پروړاندې محافظت لري. د پایلې په توګه، تعقیبونکي اوس ټیکنالوژي کاروي CNAME کلوکینګ، د مختلفو پروژو لپاره د دوی د خپل سکریپټ په توګه نقاب کول. د مثال په توګه، تعقیبونکي د سایټ مالکینو ته وړاندیز کوي چې د یو ځانګړي ډومین لپاره د دوی ترتیباتو کې CNAME اضافه کړي، د کوم پته چې معمولا د حروفونو تصادفي سیټ په څیر ښکاري.

که څه هم دا سپارښتنه نه کیږي چې د ویب پاڼې کوکیز ټولو فرعي ډومینونو ته چمتو کړئ (د مثال په توګه - *.website.com)، ډیری سایټونه دا کار کوي. په دې حالت کې، دا ډول کوکیز په اتوماتيک ډول د دریمې ډلې تعقیبونکي ته لیږل کیږي. د پایلې په توګه، موږ نور نشو کولی د محرمیت په اړه خبرې وکړو.

همچنان ، ورته شی د HTTP سرلیکونو سره پیښیږي مراجع - اشارې، کوم چې یوازې اصلي ډومین ته لیږل کیږي، ځکه چې دوی د جوړولو لپاره کارول کیدی شي د ډیجیټل ګوتو نښه کارن ډاډ ترلاسه کړئ چې د CDN خدمت چې تاسو یې کاروئ دا سرلیکونه په سمه توګه فلټر کوي.

پایلې

که تاسو پلان لرئ چې ژر تر ژره د دریمې ډلې سرچینو ځان کوربه توب پلي کړئ ، اجازه راکړئ تاسو ته یو څه مشوره درکړم:

  • خپل خورا مهم JS کتابتونونه، فونټونه او CSS فایلونه کوربه کړئ. دا به د سایټ د ناکامۍ یا د فعالیت د تخریب خطر کم کړي ځکه چې سایټ ته حیاتي سرچینې د دریمې ډلې خدماتو د غلطۍ له امله شتون نلري.
  • مخکې له دې چې تاسو په CDN کې د دریمې ډلې سرچینې زیرمه کړئ، ډاډ ترلاسه کړئ چې یو ډول نسخه سیسټم کارول کیږي کله چې د دوی فایلونو نومول کیږي، یا دا چې تاسو کولی شئ د دې سرچینو ژوند دوره په لاسي ډول یا په اتوماتيک ډول د CDN زیرمه بیا تنظیمولو سره اداره کړئ کله چې نوې نسخه خپره کړئ. سکریپټ
  • د خپل CDN، پراکسي سرور، او کیچ ترتیباتو په اړه ډیر محتاط اوسئ. دا به تاسو ته اجازه درکړي چې ستاسو پروژه یا سرلیکونه د کوکیز لیږلو مخه ونیسي Client-Hints د دریمې ډلې خدمتونه.

ګرانو لوستونکو! ایا تاسو په خپلو سرورونو کې د نورو خلکو توکي کوربه کوئ چې ستاسو د پروژو عملیاتو لپاره خورا مهم دي؟

د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد
د دریمې ډلې سرچینې ځان کوربه توب: ښه، بد، بد

سرچینه: www.habr.com

Add a comment