مجله خبری هاست ایران » شبکه » کش محتوای ایستا و پویا چیست و چه تفاوتی باهم دارند؟
شبکه میزبانی وب

کش محتوای ایستا و پویا چیست و چه تفاوتی باهم دارند؟

کش محتوای ایستا و پویا

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

تفاوت محتوای ایستا و پویا

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

محتوای ایستا و نحوه کش کرن آن

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

محتوای پویا و نحوه کش کرن آن

نمونه‌هایی از محتوای پویا و ایستا

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

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

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

کش محتوای ایستا و پویا

در این بخش به بررسی نحوه کش محتوای ایستا و پویا پرداخته خواهد شد و کش این دو نوع محتوا به صورت تعاریف زیر است:

محتوای ایستا چگونه کش می‌شود؟

فرآیند معمول کش کردن وب این‌گونه است که یک کش جهت ذخیره یک کپی از فایل استاتیک، در هنگام ارائه محتوا به کاربران عمل می‌کند، به‌طوری‌که این محتوا دفعه بعد سریع‌تر به کاربر تحویل داده شود. مرورگرها و شبکه‌های تحویل محتوا (CDN) می‌توانند محتوای استاتیک را برای یک دوره زمانی معین ذخیره کنند و تا زمانی که درخواست محتوا ادامه دارد، آن را به کاربران ارائه دهند. این کار به‌راحتی امکان‌پذیر است زیرا محتوای ثابت در طول زمان تغییر نمی‌کند. همان فایل را می‌توان بارها و بارها به کاربران تحویل داد و این یکی از انواع تفاوت کش محتوای ایستا و پویا به‌حساب می‌آید.

محتوای پویا چگونه کش می‌شود؟

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

تفاوت بین کش محتوای پویا و فشرده‌سازی محتوای پویا چیست؟

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

چگونه استفاده از Edge Side Includes (ESI) باعث افزایش سرعت صفحات وب پویا می‌شود؟

اغلب، حجم زیادی از محتوا در یک صفحه وب پویا برای همه کاربران ثابت می‌ماند و فقط عناصر خاصی در صفحه پویا هستند. این بدان معنی است که بسیاری از کدهای HTML در هر کپی پویا از صفحه تکرار می‌شود. برای حل این ناکارآمدی، تعدادی از شرکت‌ها با هم کار کردند تا Edge Side Includes (ESI) را توسعه دهند. ESI یک زبان نشانه‌گذاری است که مشخص می‌کند محتوای پویا در یک صفحه وب چگونه ظاهر می‌شود. (ESI در برخی از CDN ها استفاده می‌شود، اما هنوز توسط W3C، سازمانی که استانداردهای وب را اداره می‌کند، پذیرفته‌نشده است.)

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

سخن پایانی

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

منبع cloudflare

افزودن دیدگاه

کلیک برای ثبت دیدگاه