بخش های اصلی

آموزش HTML 5

آموزش HTML 5 - حافظه نهان (Application Catche)

می توانید با استفاده از ویژگیِ caching در HTML5، برنامه های کاربردیِ آفلاین ایجاد کنین.

حافظه ی نهان (Application Catche) چیه

معمولاً بیشتر برنامه های کاربردیِ مبتنی بر وب فقط زمانی که آنلاین باشین کار می کنن. ولی HTML5، برنامه ی کاربردیِ مکانیسمِ حافظه ی نهانی را معرفی می کنه که بصورت خودکار این امکان را به مرورگر میده که فایل و تمام منابعی که برای نمایشِ صحیح، روی ماشینِ محلی (local) مورد نیاز هست را ذخیره کنه، بنابراین مرورگر بدون ارتباطِ اینترنتی هم می تواند به صفحه ی وب و منابعش دسترسی داشته باشه.

برخی از مزایای ویژگیِ برنامه ی کاربردیِ حافظه ی نهان در HTML5 را در ادامه میبینید:

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

نکته: تمام مرورگرهای مطرح و مدرن مثال Firefox، Chrome، Opera، Safari و Internet Explorer 10+ از ویژگیِ برنامه کاربردیِ حافظه ی نهان در HTML5 پشتیبانی می کنن.

ذخیره ی فایل ها در حافظه ی نهان با Manifest

برای ذخیره کردن فایل ها در حافظه ی نهان، جهت استفاده بصورت آنلاین، باید مراحل زیر را انجام بدین:

مرحله ی 1: ایجاد یک فایل Manifest حافظه ی نهان

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

مثال

دانلود

CACHE MANIFEST
# v1.0 : 10-08-2014
 
CACHE:
# pages
index.html
 
# styles & scripts
css/theme.css
js/jquery.min.js
js/default.js
 
# images
/favicon.ico
images/logo.png
 
NETWORK:
login.php
 
FALLBACK:
/ /offline.html

توضیح کد

ممکنه فکر کنین این کد درمورد چه بود. بسیار خوب، برایتان توضیح میدم. یک فایل  manifest میتواند سه بخش متمایز داشته باشه: حافظه ی نهان (CACHE)، شبکه (NETWORK) و FALLBACK.

  • فایل های لیست شده در زیرِ CACHE: در بخش عنوان (header) (یا بلافاصله بعد از خطِ CACHE MANIFEST)، بعد از این که برای اولین بار دانلود شدن، مستقیماً در حافظه ی نهان ذخیره میشن.
  • فایل های لیست شده در زیرِ NETWORK: در بخش عنوان (header) لیستِ سفیدِ منابع هستن که هیچ وقت در حافظه ی نهان ذخیره نمیشن و در حالت آفلاین وجود ندارن.
  • بخشFALLBACK:صفحه های fallbackای که مرورگر باید از آن ها زمانی استفاده کنه که برقراری ارتباط با سرور انجام نمیشه.
  • خط هایی که با علامت ‘#’ شروع شدن، توضیحات هستن.
  • اخطار: خود فایلِ manifest را در فایلِ manifest حافظه ی نهان، تعریف نکنین، وگرنه اطلاع دادن به مرورگر راجع به این که یک manifest جدید وجود داره، تقریباً غیر ممکن میشه.

مرحله ی 2: استفاده از فایل Manifest

بعد از ایجاد فایل، فایل manifest حافظه ی نهان تان را در وب سرور آپلود کنین – مطمئن بشین که وب سرور جهت انجام خدماتِ فایل manifest با نوع MIME ، text/cache-manifest پیکربندی شده.

حالا فایل manifestتان را بکار بگیرین، باید آن را با اضافه کردنِ خصیصه ی manifest به ریشه ی عنصرِ <html> روی صفحه های وب تان فعال کنین، به این صورت:

مثال

<!DOCTYPE html>
<html lang="en" manifest="example.appcache">
<head>
    <title>HTML5 Application Cache</title>
</head>
<body>
    <!--The document content will be inserted here-->
</body>
</html>

نکته: در وب سرورهای Apache، نوع MIME برای فایل های manefest(.appacache) می تواند با اضافه کردن AddType text/cache-manifest .appcache به فایل .htaccess در ریشه ی پوشه ی برنامه ی کاربردی، اعمال بشه.

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش HTML 5

Learn HTML 5

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد