HTML5 এপ্লিকেশন ক্যাশ

এপ্লিকেশন ক্যাশ ব্যবহার করে, cache manifest ফাইল তৈরি করে ওয়েব অ্যাপলিকেশনের অফলাইন সংস্করণ সহজেই তৈরি করা যায়

এপ্লিকেশন ক্যাশ কি?

HTML5 এপ্লিকেশন ক্যাশ (Application Cache) উপন্যাস করেছে, যার মাধ্যমে ওয়েব অ্যাপলিকেশনকে ক্যাশ করা যায় এবং ইন্টারনেট সংযোগ ছাড়াও পরিবেশন করা যায়

অ্যাপলিকেশন ক্যাশ অ্যাপলিকেশনকে তিনটি বৈশিষ্ট্য প্রদান করে:

  1. অফলাইন ব্রাউজিং - ব্যবহারকারী অ্যাপলিকেশন অফলাইন থাকাকালীন তাদের ব্যবহার করতে পারবে
  2. গতি - ক্যাশড হওয়া সম্বলগুলো আরও দ্রুত লোড হবে
  3. সার্ভার লোড হ্রাস - ব্রাউজার কেবল অপডেট হওয়া বা পরিবর্তিত সম্বলগুলো ডাউনলোড করবে

ব্রাউজার সমর্থন

টেবিলের সংখ্যাগুলি পূর্ণ প্রস্তুতির প্রথম ব্রাউজার সংস্করণকে নির্দেশ করে

API
Application Cache 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 মূল

যদি আপনি অ্যাপলিকেশন ক্যাশ সক্রিয় করতে চান, তবে <html> ট্যাগে manifest এটিওয়ারিয়াট সমেত করুন:

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

প্রত্যেকটি manifest-সহ নির্দিষ্ট পৃষ্ঠা, যখন ব্যবহারকারীটি তাকে ব্যবহার করে, তখন তা ক্যাশে সংরক্ষিত হবে। যদি manifest এটিওয়ারিয়াট না থাকে, তবে পৃষ্ঠা ক্যাশ না হবে (শুধুমাত্র manifest ফাইলে সরাসরি সংযোগ করা পৃষ্ঠা ছাড়া)。

manifest ফাইলের সুপারিশ করা ফাইল এক্সটেন্সন হল: ".appcache"。

মন্তব্য:manifest ফাইলটির সঠিক MIME-type নিয়ে নয়ায়, যেমন "text/cache-manifest"। এটি web সার্ভারে কনফিগার করা উচিত।

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 অংশটি নিম্নরূপ, যাতে ইন্টারনেট সংযোগ গড়ে যাওয়ার সময় ইন্টারনেট সংযোগ হয়না হলে, /html/ ডিরেক্টরিতে সকল ফাইলটিকে "offline.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 প্রতি সাইট)。