একটি MHTML ফাইল কি?
MHTML এক্সটেনশন সহ ফাইলগুলি একটি ওয়েব পৃষ্ঠা সংরক্ষণাগার বিন্যাস উপস্থাপন করে যা বিভিন্ন অ্যাপ্লিকেশনের একটি সংখ্যা দ্বারা তৈরি করা যেতে পারে। বিন্যাসটিকে সংরক্ষণাগার বিন্যাস বলা হয় কারণ এটি ওয়েব HTML কোড এবং সংশ্লিষ্ট সংস্থানগুলিকে একটি ফাইলে সংরক্ষণ করে। এই সংস্থানগুলির মধ্যে ওয়েবপৃষ্ঠার সাথে লিঙ্কযুক্ত যেকোন কিছু অন্তর্ভুক্ত যেমন ছবি, অ্যাপলেট, অ্যানিমেশন, অডিও ফাইল এবং আরও অনেক কিছু। এমএইচটিএমএল ফাইলগুলি ইন্টারনেট এক্সপ্লোরার এবং মাইক্রোসফ্ট ওয়ার্ডের মতো বিভিন্ন অ্যাপ্লিকেশনে খোলা যেতে পারে। মাইক্রোসফ্ট উইন্ডোজ এমএইচটিএমএল ফাইল ফরম্যাট ব্যবহার করে Windows এ যেকোন অ্যাপ্লিকেশন ব্যবহার করার সময় দেখা সমস্যাগুলির পরিস্থিতি রেকর্ড করার জন্য যা সমস্যা উত্থাপন করে। MHTML ফাইল ফরম্যাট পৃষ্ঠার বিষয়বস্তুগুলিকে মেসেজ/rfc822-এ সংজ্ঞায়িত স্পেসিফিকেশনের অনুরূপ এনকোড করে যা প্লেইন টেক্সট ইমেল সম্পর্কিত স্পেসিফিকেশন। বিন্যাসের প্রকৃত স্পেসিফিকেশন RFC 2557 দ্বারা বিশদভাবে বর্ণনা করা হয়েছে৷
MHTML ফাইল ফরম্যাট
এমএইচটিএমএল একটি একক ওয়েব আর্কাইভে এইচটিএমএল ওয়েব পৃষ্ঠাগুলিকে এনকোড করার ক্ষমতার জন্য সামগ্রিক এইচটিএমএল নথিগুলির MIME এনক্যাপসুলেশন হিসাবেও পরিচিত। RFC 2557 স্পেসিফিকেশন অনুসারে, একটি সামগ্রিক নথি হল একটি MIME-এনকোডেড বার্তা যাতে একটি রুট রিসোর্স (অবজেক্ট) এবং সেইসাথে ইউআরআই-এর মাধ্যমে এটির সাথে সংযুক্ত অন্যান্য সংস্থান থাকে। এই ধরনের অন্যান্য সংস্থান হতে পারে ইনলাইন ছবি, স্টাইল শীট, অ্যাপলেট ইত্যাদির উপস্থাপনা। উপরন্তু, এগুলি অন্যান্য মাল্টিমিডিয়া নথির মূল হতে পারে। MHTML ফাইল ফরম্যাটের সম্পূর্ণ নথির স্পেসিফিকেশন RFC 2557-এ বিশদভাবে দেওয়া আছে এবং এই ফাইল ফরম্যাটের পড়ার/লেখার জন্য যেকোন ধরনের অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য উল্লেখ করা উচিত। স্ট্যান্ডার্ডটি নির্দিষ্ট করে যে শরীরের অংশগুলিকে রেফার করা হবে তা একটি বিষয়বস্তু-আইডি বা একটি বিষয়বস্তু-অবস্থান দ্বারা চিহ্নিত করা যেতে পারে।
MIME কন্টেন্ট হেডার
একটি MIME বিষয়বস্তু শিরোনাম, বিষয়বস্তু-অবস্থান, অন্যান্য শরীরের অংশে সংস্থানগুলির URI রেফারেন্সগুলি সমাধান করার জন্য সংজ্ঞায়িত করা হয়। এই শিরোনামটি যেকোনো বার্তা বা বিষয়বস্তুর শিরোনামে ঘটতে পারে।
বিষয়বস্তু-অবস্থান শিরোনাম
একটি বিষয়বস্তু-অবস্থান হল একটি URI-এর একটি উপস্থাপনা যা একটি শরীরের অংশের বিষয়বস্তুকে লেবেল করে যেখানে এটি স্থাপন করা হয়। এর মান একটি পরম বা একটি আপেক্ষিক URI হতে পারে। এটি এমন একটি সংস্থান লেবেল করতে ব্যবহার করা যেতে পারে যা একটি বার্তার কিছু বা সমস্ত প্রাপক দ্বারা পুনরুদ্ধারযোগ্য নয়। একটি একক বার্তা শুধুমাত্র একটি একক বিষয়বস্তু-অবস্থান শিরোনাম থাকতে অনুমোদিত। বিষয়বস্তু-অবস্থান এবং বিষয়বস্তু-আইডি উভয় লেবেল সহ শরীরের অংশ সমন্বিত একটি মাল্টিপার্ট/সম্পর্কিত কাঠামোর উদাহরণ:
Content-Type: multipart/related; boundary#"boundary-example";
type#"text/html"
--boundary-example
Content-Type: text/html; charset#"US-ASCII"
... ... <IMG SRC#"fiction1/fiction2"> ... ...
... ... <IMG SRC#"cid:97116092811xyz@foo.bar.net"> ... ...
--boundary-example
Content-Type: image/gif
Content-ID: <97116092511xyz@foo.bar.net>
Content-Location: fiction1/fiction2
--boundary-example
Content-Type: image/gif
Content-ID: <97116092811xyz@foo.bar.net>
Content-Location: fiction1/fiction3
--boundary-example--
MHTML সমষ্টির URI
MHTML সমষ্টির URI এর মূল URI এর থেকে আলাদা। বিষয়বস্তু-অবস্থান শিরোনাম ক্ষেত্রটি সমগ্র সমষ্টিতে প্রযোজ্য হবে যদি এটি একটি মাল্টিপার্ট/সম্পর্কিত শিরোনামের শিরোনামে ব্যবহৃত হয়। একইভাবে, পুনরুদ্ধার করা সম্পদের সেট তার অংশগুলির বিষয়বস্তু-অবস্থান ব্যবহার করে পুনরুদ্ধার করা সম্পদের সেট থেকে ভিন্ন হতে পারে যখন এই সমষ্টি পুনরুদ্ধার করতে MHTML সমষ্টির উল্লেখকারী URI ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি MHTML সমষ্টি পুনরুদ্ধার করা একটি পুরানো সংস্করণ ফিরিয়ে আনতে পারে, যখন রুট URI এবং এর ইন-লাইন লিঙ্কযুক্ত অবজেক্টগুলি পুনরুদ্ধার করা হলে একটি নতুন সংস্করণ ফিরে আসতে পারে।