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

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

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

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

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

کش وب سایت چیست ؟

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

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

 

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

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

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

 

مزایای کش کردن صفحات وب :

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

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

 

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

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

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

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

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

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

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

انواع کش :

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

کش مرورگر

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

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

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

کش سرور

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

نتیجه

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

دیدگاهتان را بنویسید