Маніфест (файл)

Файл маніфесту в інформатиці — це файл, якій містить загальні дані про групу перелічену в ньому ж файлів. Наприклад, у файлах комп'ютерної програми може бути маніфест, що описує ім'я, номер версії, ліцензію та складові файли програми.

Цей термін запозичений з галузі транспортних перевезень, де в ньому переховується весь екіпаж та/або вантаж на транспортному судні.

Маніфест пакету

Linux дістрибутиви суттєво залежать від систем керування пакунками для розповсюдження програмного забезпечення. В цих системах пакет являє собою файл архіву, що містить також файл маніфесту. Основна мета якого полягає в тому, щоб перерахувати файли, що входять до складу цього пакету.

Маніфест може мати деяку додаткову інформацію як про сам пакет, так й про файли що входять в його склад. Наприклад, в маніфесті JAR-пакету вказується інформація про номер версії та точку входу для виконання цього пакету.

Маніфест може містити хеш або контрольну суму кожного файлу. Це дозволяє перевірити пакет на автентичність та цілісність, оскільки зміна будь-якого з файлів призведе до неспвіпадіння контрольних сум або хешів, вказаних в файлі маніфесту та розрахованих за їх вмістом.

Маніфест кешу в HTML5

Маніфест кешу в HTML5 — це простий текстовий файл, що супроводжує веб-додаток та допомагає йому працювати, коли немає підключення до мережі. Механізм кешування читає цей файл та гарантує, що його вміст доступний локально. Маніфест кешу в HTML5 визначається MIME типом text/cache-manifest.[1]

Приклад файлу маніфесту кешу в HTML5

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

Маніфест програми та маніфест збірки

В середовище Microsoft Windows програми, які побудовані на технології Windows Side-by-Side (WinSxS), мають маніфест програми. Він є XML-файлом, що вбудований безпосередньо в саму програму або міститься в окремому файлі. В маніфесті програми вказано: назву, версію, довідкову інформацію, привілеї, необхідні для виконання, та залежності від інших компонентів.[2]

Маніфест збірки дуже схожий на маніфест програми, але описує ідентичність компонентів, відомих як «збірки». Маніфести програм посилаються на ці збірки.[3]

Приклад маніфесту програми. Він складається з двох частин: безпеки та залежностей. В частині безпеки вказано, що для програми потрібен рівень безпеки «asInvoker», тобто він може працювати на будь-якому рівні безпеки де програма може бути запущена. Частина залежностей вказує, що програмі потрібен компонент «Microsoft.VC90.CRT» за номером версії «9.0.21022.8».

<?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>
        <!--Достатньо будь-якого рівня безпеки-->
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <!--Для виконання потрібен Microsoft Visual C++ 2008 Runtime-->
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>


Примітки

  1. 7.7 Offline Web applications. HTML Standard. W3C. 22 грудня 2015.
  2. Application Manifests. Side-by-side Assemblies Reference. Microsoft. Процитовано 23 грудня 2015.
  3. Assembly Manifests. Side-by-side Assemblies Reference. Microsoft. Процитовано 23 грудня 2015.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.