کش وب سایت چیست و چه کاربردی دارد؟

کش وب سایت چیست و چه کاربردی دارد؟ 646 400 aranik

همه چیز درباره کش وبسایت ، و کاربرد های آن

کش وبسایت یکی از تکنولوژی های خیلی سودمند است و تاثیر زیادی در سئو یک وبسایت دارد .

بزارید براتون با مثال توضیح بدم :

برای مثال نتیجه ضرب ۴ در ۵ میشه ۲۰ ، این سوال رو ازتون بپرسن سریع جواب میدین و دنبال راه حل نیستین چون از قبل نتیجه رو به یاد داشتین و نیازی به دوباره حل کردنش نبود ، خب این دقیقا همون فرایندی هستش که داخل کش سایت اتفاق میوفته! گاهی اوقات بعضی صفحات وب سایت ها صدها ، هزاران ، گاهی اوقات حتی میلیون ها بار در ماه بازدید میشن.

بطور کلی وقتی شما با یه مرورگر درخواست مشاهده یک صفحه وب رو میکنید ، سرور اطلاعاتی از محاسبات پیچیده و وقت گیر رو انجام میده . اخرین پست هارو مرور میکنه ، ستون کناری و ابزارک ها و … رو پیدا میکنه و غیره . با وجود این همه محاسبه بسیاری از بازدید ها و محاسبات دقیقا همون نتایج قبلی میشه ! مگه خوب نیست که مرورگر این محسابات رو ذخیره کنه و برای هربار بازدید درخواست دوباره نده ؟ اینطوری هم وقت کمی ازما میگیره هم نت کمتری! این دقیقا همون کار کش وبسایت هستش.

چگونه صفحات در حافظه کش میشود ؟

فک کنم بهترین راه برای درک این موضوع ، توضیح دادن فرایندش هستش ، خب حالا فرض کن یه وبلاگ با قابلیت کش شدن داری ، الوین بار کسی که از صفحت بازدید میکنه اون رو به صورت نرمال دریافت میکنه ، درخواست دریافت میشه ، بعدش پردازش روی سرور انجام میشه و نتیجه رو تو قالب یه فایل  HTML به مرورگر میفرسته .

از اونجا که تموم مرورگر ها بطور پیش فرض ذخیره میشه همون فایل HTML داری حافظه RAM ذخیره میشه ، دفعه بعد شما یا هرکس دیگه ای که از این صفحه بازدید کنه دیگه نیازی به پردازش دوباره همون صفحه نیست ، سرور همون فایل HTML ای که داخل حافظه ذخیره داشت رو به مرورگر ارسال میکنه.

اگر محتوای وب سایت دچار تغییر شود چه اتفاقی می افتد ؟

احتمال میدم الان فکر میکنی و پیش خودت میگی همه اینا درست ، اما اگه کش فعال باشه و یه پست جدید روی سایت قرار بگیره اونوقت چه اتفاقی میوفته ؟ آیا پست جدید خارج از کش و در نهایت خارج از دید بازدیدکنندگان سایت نیست ؟ همه اینها پیش بینی شده، یه سیستم کش نه تنها یه مکانیسم واسه ذخیره فایل HTML دراه ، بلکه راهی برای برای خالی کردن و بازسازی صفحه توی شرایط خاص مث انتشار مطلب جدی نیز در نظر گرفته.

یه کش برنامه ریزی شده توی وردپرس توی اینجور شرایط که مثلا پست جدید انتشار پیدا میکنه حافظه کش قبلی رو پاک میکنه و جدید رو جایگزین میکنه.

و اما ایا کش کردن صفحه واقعا موثره ؟

یه سایت با کدنویسی خوب ممکنه کمتر از دو ثانیه بارگذاری بشه . (توجه داشته باشید: سرعت بارگذاری یک وب سایت چیزی است که شما به راحتی می توانید آن را با استفاده از خدمات رایگان مانند GTMetrix تست کنید)  به اندازه کافی سریع نیست ؟ ایا واقعا کش کردن صفحه ارزش داره ؟ خب جوابش مشخصه ، معلومه که اره . با استفاده از کش کردن صفحه زمان زیادی رو صرفه جویی کنید.

البته بگم که با پیاده سازی کش روی وبسایت خودتون هم وبسایت خودتون رو سریع تر کردید هم کمک کردید که سایت بتونه بار ترافیک سنگینی رو تحمل کنه.

حالا سوال اینه : چگونه کش کردن موثره ؟ با توجه به مطالعات اخیر توسط YUI، ذخیره ی مرورگر می تونه سرعت رو به اندازه ی ۳۰۰٪ افزایش بده!

انواع کش : کش به طور کلی به دو دسته تقسیم میشه : کش سرور و کش مرورگر . مرورگر از سمت سرویس گیرنده (کاربر) انجام میشه ، در حالی که کش سرور از سمت سرور انجام میشه ، اجازه بدید به تفاوت هاشون یه نگاهی بندازیم .

کش مرورگر

وقتی از یک صفه اینترنتی بازدید میکنید مرور گر شما نه تنها نیاز به بازیابی محتوای صفحه مورد نظر داره بلکه نیاز به یک دسته از منابع مانند فایل جاوا اسکریپت ، صفحات صفات ، فونت و غیره داره که مروروگر به طور خودکار علاوه بر محتوا اونها رو دانلود میکنه .

کش مرورگر به مرورگر این اجازه رو میده که فایل هارو ذخیره کنه ، بنابر این سری بعد که شما خواستین از همون صفحه بازدید کنید دیگه نیازی به بازیابی فایل ها داشته باشه.پ

بخوام یه مثال بزنم اینطوری بگم بهتره که وقتی شما از سایت طراحی سایت آرانیک بازدید میکنید یک دسته از منابع برای شما ارسال میشه و مرورگر شما بطور خودکار اونهارو کش میکنه ،  ممکنه بار اول که بازدید  میکنید یه مقدا دانلود این منابع طول بکشه اما دفعه بعد که شما از سایت ما بازدید میکنید زمان بارگذاری وبسایت روی مرورگر شما به شدت کاهش پیدا میکنه (به اندازه نصف یا بیشتر)

کش سرور

اما مکانیسم کش سرور یکم تفاوت داره ، سرور بجای پردازش هربار درخواست ، نتایج این درخواست هارو ذخیره میکنه و سپس بجای اینکه دوباره این فرایند رو برای درخواست انجام بده ، فایل ذخیره سازی شده رو ار حافظه خود بازیابی میکنه و میفرسته که این فرایند سریع تر خواهد بود. شما ممکنه اصطلاحات کش شی و یا کش کامل یک صفحه رو شنیده باشید ، این ها هردوشون متد های کش سرور هستند . کش کامل صفحه چیزی بود که ما تا الان درباره اون حرف زدیم. کش قطعه فقط بیت ها و قطعات داده رو در مقایسه با کل صفحه ذخیره میکنه . این میتونه در داخل کد شما مفید واقع بشه ، و هنگامی که نتیجه عملیات پیچیده ای مانند تولید یک منو ناوبری وجود داره.

نتیجه

کش کردن یه تکنولوژی جدیده که سرعت وب شما رو به شدت بدون هزینه خاصی بطور شگفت انگیزی افزایش میده . هنگامی که از کش کردن به درستی استفاده بشه هم سرعت بارگذاری صفحه وب شما افزایش پیدا میکنه هم بار اضافی از روی دوش سرور شما برداشته میشه

امیدوارم این مقاله برای بهبود سئو و سرعت وبسایت و هاست شما مفید واقع شده باشه