मेनिफेस्ट फाइल

From Vigyanwiki

कम्प्यूटिंग में मेनिफेस्ट फ़ाइल होती है जिसमें संबंधित फ़ाइलों के समूह के लिए मेटा डेटा होता है जो की सेट या सुसंगत इकाई का भाग होते हैं। इस प्रकार से उदाहरण के लिए, किसी कंप्यूटर प्रोग्राम की फ़ाइलों में नाम, संस्करण संख्या, लाइसेंस और प्रोग्राम की घटक फ़ाइलों का वर्णन करने वाला मैनिफ़ेस्ट हो सकता है।[1]

अतः यह शब्द कार्गो शिपिंग प्रक्रिया से लिया गया है, जहां मेनिफेस्ट (परिवहन) जहाज के चालक दल और/या कार्गो को सूचीबद्ध करेगा।

पैकेज मेनिफेस्ट

लिनक्स वितरण सॉफ्टवेयर वितरित करने के लिए पैकेज प्रबंधन प्रणालियों पर बहुत अधिक निर्भर करता है। इस योजना में, पैकेज संग्रह फ़ाइल है जिसमें मैनिफ़ेस्ट फ़ाइल होती है। इस प्रकार से प्राथमिक उद्देश्य उन फ़ाइलों की गणना करना है जो वितरण में सम्मिलित होते हैं, या तो विभिन्न पैकेजिंग टूल द्वारा प्रसंस्करण के लिए या मानव उपयोग के लिए वितरण में सम्मिलित हैं । अर्थात घोषणापत्र में अतिरिक्त सूचना हो सकती है; इस प्रकार से उदाहरण के लिए, जेएआर (फ़ाइल प्रारूप) (जावा प्रोग्रामिंग लैंग्वेज में लिखे सॉफ़्टवेयर को वितरित करने के लिए पैकेज प्रारूप) में, वे निष्पादन के लिए संस्करण संख्या और इंटर पॉइंट निर्दिष्ट कर सकते हैं। किन्तु मेनिफेस्ट में वैकल्पिक रूप से प्रत्येक फ़ाइल का क्रिप्टोग्राफ़िक हैश या चेकसम, हो सकता है। इसके अतिरिक्त मैनिफ़ेस्ट फ़ाइल के लिए क्रिप्टोग्राफ़िक हस्ताक्षर प्राप्त करके, वितरण पैकेज की संपूर्ण सामग्री को प्रामाणिकता और अखंडता के लिए मान्य किया जा सकता है, क्योंकि किसी भी फ़ाइल को परिवर्तित करने से मेनिफेस्ट फ़ाइल में चेकसम अमान्य हो जाएंगे।

आवेदन और असेंबली मेनिफेस्ट

इस प्रकार से माइक्रोसॉफ़्ट विंडोज़ में, विंडोज़ साइड-बाय-साइड (विनएसएक्सएस) पर निर्भर सॉफ़्टवेयर को एप्लिकेशन मैनिफ़ेस्ट की आवश्यकता होती है, जो एक्सएमएल समानार्थी है जो या तो निष्पादन योग्य फ़ाइल में एम्बेडेड होता है या इसके साथ आने वाली अलग एक्सएमएल फ़ाइल में समाहित होता है। इसमें नाम, संस्करण, ट्रस्ट सूचना , निष्पादन के लिए आवश्यक विशेषाधिकार और अन्य घटकों पर निर्भरता सम्मिलित है।[2]

चूंकि असेंबली मेनिफेस्ट एप्लिकेशन मेनिफेस्ट के समान होती है किन्तु असेंबली (प्रोग्रामिंग) के रूप में जाने वाले घटकों की पहचान का वर्णन करता है। इस प्रकार इन असेंबलियों को एप्लिकेशन मेनिफ़ेस्ट में संदर्भित किया गया है।[3]

अतः एप्लिकेशन मेनिफ़ेस्ट का उदाहरण इस प्रकार है. यह एप्लिकेशन मेनिफ़ेस्ट के दो प्रमुख्य भाग हैं: सुरक्षा और निर्भरता सुरक्षा भाग कहता है कि एप्लिकेशन को इनवॉकर के रूप में सुरक्षा स्तर की आवश्यकता होती है; अर्थात्, इसे किसी भी सुरक्षा स्तर पर क्रियान्वित किया जा सकता है। निर्भरता भाग कहता है कि एप्लिकेशन को संस्करण संख्या 9.0.21022.8 के साथ माइक्रोसॉफ्ट.वीसी90.सीआरटी नामक घटक की आवश्यकता होती है।

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <!--I am okay with whatever security privilege level-->
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <!--I need Microsoft Visual C++ 2008 Runtime to run-->
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>


एचटीएमएल5 कैश मेनिफेस्ट

इस प्रकार से एचटीएमएल5 में कैश मेनिफेस्ट वेब ऐप के साथ आने वाली प्लेन टेक्स्ट फाइल है जो नेटवर्क कनेक्टिविटी न होने पर इसे चलाने में सहायता करती है। और कैशिंग मेनिफेस्ट इस फ़ाइल को रीड करता है और सुनिश्चित करता है कि इसकी सामग्री स्थानीय रूप से उपलब्ध है। चूंकि एचटीएमएल5 कैश मेनिफेस्ट को उसके सामग्री प्रकार को टेक्स्ट/कैश-मेनिफ़ेस्ट पर सेट करके प्रस्तुत किया जाता है।[4]

कैश मेनिफेस्ट का उदाहरण इस प्रकार से है :

CACHE MANIFEST 
/test.css
/test.js
/test.png

संदर्भ

  1. Ashwin (2015-08-01). "Researchers discover HiddenAds malware in a dozen Android apps that were distributed on the Google Play Store". ghacks.net. G Hacks. Retrieved 2015-08-19. This Directory class contains special metadata in a manifest file. This data can be recognized by the Contact Provider, which developers can use to create a custom directory, and to transfer data between the device and online services.
  2. "आवेदन प्रकट होता है". Side-by-side Assemblies Reference. Microsoft. Retrieved 23 December 2015.
  3. "विधानसभा प्रकट". Side-by-side Assemblies Reference. Microsoft. Retrieved 23 December 2015.
  4. "7.7 Offline Web applications". HTML Standard. W3C. 22 December 2015.