بهترین روش های caching سایت
در این مقاله از رایانیتا می خواهیم به بهترین روش های caching سایت بپردازیم. اما در ابتدا برخی از مفاهیم اولیه ذخیره محتوای وب را مورد بحث قرار می دهیم. این موضوع معمولا نحوه انتخاب سیاست های ذخیره سازی را پوشش می دهد تا اطمینان حاصل شود که حافظه پنهان در سراسر اینترنت می تواند محتوای شما را به درستی پردازش کند. مزایای ذخیره سازی و عوارض جانبی این عمل به همراه دارد که باید از آن آگاه باشید. و در آخر درباره ی استراتژی های مختلف استفاده شده برای ارائه بهترین ترکیب عملکرد و انعطاف پذیری صحبت خواهیم کرد. پس تا انتهای این مطلب همراه ما باشید.
ذخیره سازی (Caching) چیست؟
Caching اصطلاحی برای ذخیره پاسخ های قابل استفاده مجدد به منظور انجام شدن سریع تر درخواست های بعدی است. انواع مختلفی از ذخیره سازی موجود است که هر کدام ویژگی های خاص خود را دارند. حافظه پنهان برنامه ها و حافظه پنهان حافظه (memory) هر دو به دلیل توانایی آن ها در سرعت بخشیدن به پاسخ های خاص محبوب هستند.
Web caching (ذخیره وب)، نوع مختلفی از حافظه پنهان است. ذخیره وب یک ویژگی اصلی طراحی پروتکل HTTP است که به منظور به حداقل رساندن ترافیک شبکه و در عین حال بهبود پاسخگویی درک شده سیستم به طور کلی است. حافظه پنهان در هر سطح از یک محتوا از سرور اصلی به مرورگر یافت می شود.
ذخیره وب با ذخیره پاسخ های HTTP برای درخواست ها طبق قوانین خاصی انجام می شود. درخواست های بعدی برای محتوای ذخیره شده را می توان به جای ارسال مجدد درخواست به سرور وب، از کش نزدیک به کاربر انجام داد. همین امر باعث افزایش سرعت می شود.
طراحی سایت مقوله ای است که باید به درستی انجام شود. اگر به درستی انجام نشود برای شما ضررهای جبران ناپذیری را به همراه دارد. یکی از دغدغه های شما این است که به یک شرکت مطمئن اعتماد کنید و خیالتان راحت باشد که دچار ضرر نمی شوید. خدمات سفارش طراحی سایت رایانیتا همان چیزی است که شما می خواهید.
فواید ذخیره سازی
ذخیره سازی موثر به مصرف کنندگان محتوا و ارائه دهندگان محتوا کمک می کند. برخی از مزایای ذخیره سازی برای تحویل محتوا عبارتند از:
- کاهش هزینه های شبکه: محتوا را می توان در نقاط مختلف مسیر شبکه بین مصرف کننده محتوا و منبع محتوا ذخیره کرد. هنگامی که محتوا مصرف کننده ذخیره می شود، باعث این می شود که شبکه فعالیت هایی بیشتری انجام ندهد و به حافظه پنهان محدود شود.
- بهبود پاسخگویی: ذخیره سازی باعث می شود محتوا سریع تر بازیابی شود. از این لحاظ سریع تر می شود چون که نیازی به یک رفت و برگشت کامل در شبکه نیست. حافظه پنهان نزدیک کاربر، مانند حافظه مرورگر، می تواند این بازیابی را تقریبا در لحظه کند.
- افزایش عملکرد بر روی سخت افزار یکسان: برای سروری که محتوا از آن جا سرچشمه گرفته شده است، می توان با اجازه ذخیره سازی تهاجمی، عملکرد بیشتری را از سخت افزار یکسان کاهش داد. مالک محتوا می تواند از سرورهای قدرتمند در طول مسیر تحویل استفاده کند تا بیشتر بارهای محتوا را متحمل شود.
- در دسترس بودن محتوا در حین وقفه شبکه: با استفاده از خط مشی های خاص، می توان از caching برای ارائه محتوا به کاربران نهایی استفاده کرد. اگر حتی برای مدت کوتاهی از سرورهای مبدا در دسترس نباشد نیز این عمل انجام شدنی است.
چه چیزهایی را می توان ذخیره کرد؟
قبل از بررسی بهترین روش های caching سایت خوب است که ابتدا بدانیم چه چیزهایی را می توانیم ذخیره سازی کنیم. برخی از محتواها راحت تر از بقیه موارد ذخیره سازی می شوند.
برخی از محتواهای بسیار پنهان برای اکثر سایت ها عبارتند از:
- لوگوها و تصاویر مارک تجاری
- تصاویر بدون چرخش
- شیوه نامه ها
- فایل های عمومی جاوا اسکریپت
- محتوای قابل بارگیری
- فایل های رسانه ای
این موارد به ندرت تغییر می کنند، بنابراین می توانند از ذخیره سازی طولانی مدت استفاده کنند.
برخی از مواردی که باید در ذخیره سازی از آن ها مراقب باشید عبارتند از:
- صفحات HTML
- چرخاندن تصاویر
- جاوا اسکریپت و CSS که اغلب تغییر می کنند
- محتوای درخواست شده با کوکی های احراز هویت
برخی از مواردی که تقریبا هرگز نباید ذخیره شوند عبارتند از:
- دارایی های مربوط به داده های حساس (اطلاعات بانکی و غیره)
- محتوایی که مخصوص کاربر است و اغلب تغییر می کند.
علاوه بر قوانین کلی که گفته شد، امکان تعیین خط مشی هایی وجود دارد که به شما امکان می دهد انواع مختلف محتوا را به طور مناسب ذخیره کنید. به عنوان مثال، اگر کاربران تایید شده همه نمای یکسانی از سایت شما را مشاهده کنند، ممکن است بتوان آن نمای سایت را در هر کجا ذخیره کرد. اگر کاربران احراز هویت شده یک نمای حساس از کاربر سایت را مشاهده کنند که برای مدتی معتبر خواهد بود، ممکن است به مرورگر کاربر بگویید که حافظه پنهان را ذخیره کند.
بهترین روش های caching سایت
در یک دنیای کامل، همه چیز را می توان به صورت تهاجمی ذخیره کرد و سرورهای شما فقط برای تایید گاه به گاه محتوا تماس می گیرند. هرچند این امر اغلب در عمل اتفاق نمی افتد، بنابراین باید سعی کنید برخی از سیاست های ذخیره سازی عاقلانه را تنظیم کنید که هدف آن ها ایجاد تعادل بین اجرای ذخیره سازی طولانی مدت و پاسخ به خواسته های یک سایت در حال تغییر است.
در حالی که وضعیت شما استراتژی ذخیره سازی مورد استفاده شما را تعیین می کند، توصیه های زیر می تواند به شما در تصمیم گیری های منطقی کمک کند.
برخی از این ایده ها عبارتند از:
- ایجاد فهرست های خاص برای تصاویر، css و محتوای به اشتراک گذاشته شده: قرار دادن محتوا در فهرست های اختصاصی به شما این امکان را می دهد که به راحتی از هر صفحه ای در سایت خود به آن ها مراجعه کنید.
- از URL یکسانی برای اشاره به موارد مشابه استفاده کنید: از آن جا که حافظه پنهان حافظه میزبان و مسیر محتوای درخواست شده را خاموش می کند، اطمینان حاصل کنید که در همه صفحات خود به یک شکل به محتوای خود مراجعه می کنید. توصیه قبلی، این کار را بسیار ساده تر می کند.
- در صورت امکان از CSS image sprites استفاده کنید: CSS image sprites برای مواردی مانند نمادها و جابه جایی های برگشتی مورد نیاز برای ارائه سایت شما را کاهش می دهد. همچنین به سایت شما اجازه می دهد تا آن sprites مجزا را برای مدت طولانی ذخیره کند.
- در صورت امکان از اسکریپت ها و منابع خارجی به صورت محلی استفاده کنید: اگر از اسکریپت های جاوا اسکریپت و سایر منابع خارجی استفاده می کنید، باید به یک نکته دقت کنید. در صورتی که header های صحیح در بالادست ارائه نشده اند، این منابع را روی سرورهای خود ذخیره کنید. توجه داشته باشید که باید از هرگونه به روز رسانی در منبع بالادستی مطلع باشید تا بتوانید نسخه محلی خود را به روز کنید.
آخرین روش :
5. موارد حافظه پنهان اثر انگشت: برای محتوای ثابت مانند فایل های CSS و Javascript، ممکن است برای هر مورد اثر انگشت مناسب باشد. این بدان معناست که یک شناسه منحصر به فرد به نام فایل (اغلب یک هش فایل) اضافه کنید تا در صورت تغییر منبع، نام منبع جدید درخواست شود. این کار باعث می شود درخواست ها حافظه پنهان را به درستی دور بزنند. ابزارهای گوناگونی وجود دارد که می تواند در ایجاد اثر انگشت و اصلاح مراجع به آن ها در اسناد HTML کمک کند.
روش های برنامه نویسی برای caching سایت
به آخرین بخش این مقاله رسیدیم و می خواهیم بهترین روش های caching سایت را به صورت برنامه نویسی هم بررسی کنیم.
Cache.match (request, options)
a را بر می گرداند که به پاسخ مربوط به اولین درخواست مطابقت در Cache شی باز می گردد.
Cache.matchall (request, options)
a را برمی گرداند که به آرایه ای از همه درخواست های منطبق در Cache آبجکت حل می شود.
Cache.add (request)
URL را می گیرد، آن را بازیابی می کند و شی پاسخ بدست آمده را به حافظه پنهان اضافه می کند. این از لحاظ عملکردی برابر است با فراخوانی ()fetch ، سپس استفاده () putبرای افزودن نتایج به حافظه پنهان.
(request, response) Cache.put
هم درخواست و هم پاسخ آن را می گیرد و آن را به حافظه پنهان اضافه می کند.
و …
جاوا اسکریپت یکی از زبان های برنامه نویسی است که دانستن آن برای یک طراح سایت از نان شب هم واجب تر است. برای آشنایی بیشتر با این زبان برنامه نویسی محبوب، پیشنهاد می کنم که مقاله زیر از رایانیتا را مطالعه کنید.
کلام آخر
در این مقاله بهترین روش های caching سایت را بررسی کردیم. دیدیم که ذخیره سازی نیز مانند بقیه مفاهیم هم مزایا دارد و هم معایب. باید به گونه ای بهینه شده از آن استفاده کنیم تا دچار ضرر و مشکل نشویم.
وقت گذاشتن برای اطمینان از اینکه سایت شما دارای سیاست های ذخیره سازی مناسب است، می تواند تاثیر خیلی زیادی در سایت شما داشته باشد. ذخیره سازی به شما امکان می دهد هزینه های پهنای باند مربوط به ارائه مکرر یک محتوا را کاهش دهید. سرور شما همچنین می تواند حجم بیشتری از ترافیک را با همان سخت افزار مدیریت کند. شاید مهم تر از همه این باشد که مشتریان، تجربه سریع تری در سایت شما داشته باشند. این ممکن است که آن ها را وادار به بازگشت بیشتری کند. ذخیره وب موثر و تنظیم سیاست های ذخیره سازی مناسب، می تواند با حداقل کار دستاوردهای قابل اندازه گیری را برای شما به ارمغان بیاورد.
امیدوارم که با خواندن این مقاله به جواب سوال هایتان رسیده باشید :))
درباره فائزه طاهری
فائزه طاهری هستم. همیشه علاقه مند به نوشتن؛ نوشتن و نوشتن پیوسته! دانشجو مهندسی کامپیوتر. نویسندگی و عکاسی یا به عبارت دیگر تولید محتوای درجه یک، همیشه هدفم بوده و خواهد بود. انار محبوب ترین جز زندگی منه و رفیق هام منو دخترک انار صدا میکنن ^___^ برای رسیدن به هدف هام از هیچ تلاشی دریغ نمی کنم و معتقدم که باید تلاش کرد تا طلاش کرد و اینکه موفقیت به وقتش خودش رو نشونمون میده، مثل نور :)
سایر نوشته های فائزه طاهری
دیدگاهتان را بنویسید