برنامه ذخیره‌سازی آپلیکیشن HTML5

با استفاده از برنامه ذخیره‌سازی آپلیکیشن، با ایجاد فایل manifest cache، می‌توان به راحتی نسخه‌های خارج از اینترنت وب‌آپلیکیشن‌ها را ایجاد کرد.

برنامه ذخیره‌سازی آپلیکیشن چیست؟

HTML5 برنامه ذخیره‌سازی آپلیکیشن (Application Cache) را معرفی کرده است، این بدان معناست که می‌توان از وب‌آپلیکیشن‌ها به صورت ذخیره‌سازی شده استفاده کرد و بدون اتصال اینترنت به آن‌ها دسترسی داشت.

کش آپلیکیشن سه مزیت برای آپلیکیشن‌ها به ارمغان می‌آورد:

  1. بازدید از خطوط بدون آنلاین - کاربران می‌توانند آن‌ها را در حالت عدم اتصال به اینترنت استفاده کنند
  2. سرعت - منابع ذخیره‌شده سریع‌تر بارگذاری می‌شوند
  3. کاهش بار سرور - مرورگر تنها از منابع به‌روزرسانی‌شده یا تغییر یافته از سرور دانلود می‌کند

پشتیبانی مرورگر

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

API
ذخیره‌سازی برنامه 4.0 10.0 3.5 4.0 11.5

مثال HTML Cache Manifest

در این مثال، مستند HTML با استفاده از cache manifest نشان داده شده است (برای مشاهده در حالت آفلاین):

مثال

!DOCTYPE HTML
<html manifest="demo.appcache">
<body>
محتوای مستند ......
</body>
</html>

آزمایش کنید

اساس Cache Manifest

برای فعال‌سازی ذخیره‌سازی برنامه، attribute manifest را در تگ <html> مستند قرار دهید:

!DOCTYPE HTML
<html manifest="demo.appcache">
...
</html>

هر صفحه‌ای که manifest مشخص شده است، در هنگام دسترسی کاربر به آن در حافظه ذخیره می‌شود. اگر attribute manifest مشخص نشده باشد، صفحه در حافظه ذخیره نمی‌شود (مگر اینکه صفحه مستقیماً در فایل manifest مشخص شده باشد).

نام پیشنهادی برای فایل‌های manifest: ".appcache".

توجه:فایل manifest باید نوع MIME صحیح را تنظیم کند، یعنی "text/cache-manifest". باید در سرور وب پیکربندی شود.

فایل Manifest

فایل manifest یک فایل متنی ساده است که به مرورگر اطلاع می‌دهد چه محتوایی باید در حافظه ذخیره شود (و چه محتوایی نباید در حافظه ذخیره شود).

فایل manifest سه بخش دارد:

  • CACHE MANIFEST - در این عنوان، فایل‌هایی که در آن‌ها مشخص شده‌اند، پس از بارگذاری اولیه در حافظه ذخیره می‌شوند
  • NETWORK - در این عنوان، فایل‌هایی که در آن‌ها مشخص شده‌اند، نیاز به اتصال به سرور دارند و در حافظه ذخیره نمی‌شوند
  • FALLBACK - در این عنوان، فایل‌هایی که در آن‌ها مشخص شده‌اند، صفحات بازگشتی برای زمانی که صفحه قابل دسترسی نیست (مثلاً صفحه 404) تعیین می‌شوند

CACHE MANIFEST

خط اول، CACHE MANIFEST، ضروری است:

CACHE MANIFEST
/theme.css
/logo.gif
/main.js

فایل manifest بالا سه منبع را لیست می‌کند: یک فایل CSS، یک تصویر GIF و یک فایل JavaScript. پس از بارگذاری فایل manifest، مرورگر این سه فایل را از دایرکتوری ریشه وب‌سایت دانلود می‌کند. سپس، این منابع همچنان قابل استفاده هستند، حتی اگر کاربر با اینترنت قطع شود.

NETWORK

بخش NETWORK این فایل "login.php" را که هرگز در حافظه ذخیره نمی‌شود و در حالت آفلاین غیرقابل استفاده است، مشخص می‌کند:

NETWORK:
login.asp

می‌توان از ستاره برای نشان دادن استفاده از اتصال اینترنت برای همه منابع/فایل‌های دیگر استفاده کرد:

NETWORK:
*
FALLBACK

بخش FALLBACK زیر مقرر می‌کند که اگر امکان برقراری اتصال اینترنت وجود نداشته باشد، از "offline.html" به جای همه فایل‌های دایرکتوری /html/ استفاده شود:

FALLBACK:
/html/ /offline.html

نکته:URI اول منبع است و دومین جایگزین.

به‌روزرسانی ذخیره‌سازی

بعد از ذخیره‌سازی برنامه، آن تا وقوع یکی از موارد زیر در حال ذخیره‌سازی باقی می‌ماند:

  • کاربر به‌روزرسانی ذخیره‌سازی مرورگر
  • فایل manifest به‌روزرسانی شده است (لطفاً به نکات زیر مراجعه کنید)
  • به‌روزرسانی ذخیره‌سازی برنامه توسط برنامه

مثال - فایل کامل Cache Manifest

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js
NETWORK:
login.asp
FALLBACK:
/html/ /offline.html

توجه:خطوط شروع شده با '#' خطوط نظرات هستند، اما می‌توانند برای سایر کاربردها نیز استفاده شوند. ذخیره‌سازی برنامه فقط در صورت تغییر فایل manifest به‌روزرسانی می‌شود. اگر تصویری را ویرایش کنید یا یک تابع JavaScript را تغییر دهید، این تغییرات دوباره ذخیره نمی‌شوند. به‌روزرسانی تاریخ و شماره نسخه در خطوط نظرات روشی برای مجدداً ذخیره کردن فایل‌ها توسط مرورگر است.

نکات مهم در مورد ذخیره‌سازی برنامه

لطفاً محتوای ذخیره شده را نظارت کنید.

بعد از ذخیره‌سازی فایل، مرورگر به نمایش دادن نسخه ذخیره شده ادامه می‌دهد، حتی اگر شما فایل‌های سرور را تغییر دهید. برای اطمینان از به‌روزرسانی مرورگر در مورد ذخیره‌سازی، باید فایل manifest به‌روزرسانی شود.

نکته:محدودیت‌های ظرفیت ذخیره‌سازی داده‌های پشتیبان در مرورگرها ممکن است متفاوت باشد (محدودیت برخی مرورگرها برای هر وب‌سایت 5MB است).