Файл манифест в вычислениях представляет собой файл, содержащий метаданные для группы сопровождающих файлов, которые являются частью набора или когерентного блока. Например, файлы компьютерной программы могут иметь манифест, описывающий имя, номер версии, лицензию и составляющие файлы программы.
Этот термин заимствован из процедуры перевозки грузов, когда в судовом манифесте указывается экипаж и / или груз судна.
Дистрибутивы Linux в значительной степени полагаются на системы управления пакетами для распространения программного обеспечения. В этой схеме пакет - это архивный файл, содержащий файл манифеста. Основная цель - перечислить файлы, включенные в дистрибутив, либо для обработки различными инструментами упаковки, либо для потребления человеком. Манифесты могут содержать дополнительную информацию; например, в JAR (формат пакета для доставки программного обеспечения, написанного на языке программирования Java ) они могут указывать номер версии и точку входа для выполнения. Манифест может дополнительно содержать криптографический хэш или контрольную сумму каждого файла. Создав криптографическую подпись для такого файла манифеста, все содержимое пакета распространения может быть проверено на подлинность и целостность, поскольку изменение любого из файлов сделает недействительными контрольные суммы в файле манифеста.
В Microsoft Windows для программного обеспечения, использующего Windows Side-by-Side ( WinSxS ), требуется манифест приложения, который представляет собой XML- документ, который либо встроен в исполняемый файл, либо содержится в отдельном XML- файле, который его сопровождает. Он имеет имя, версию, информацию о доверии, привилегии, необходимые для выполнения, и зависимости от других компонентов.
Манифест сборки очень похож на манифест приложения, но описывает идентичность компонентов, известных как « сборки ». Эти сборки упоминаются в манифесте приложения.
Пример манифеста приложения выглядит следующим образом. Этот манифест приложения состоит из двух основных частей: безопасности и зависимости. В части безопасности указано, что приложение требует уровня безопасности «asInvoker»; то есть, он может работать на любом уровне безопасности, на котором он выполняется. В части зависимости говорится, что приложению нужен компонент под названием «Microsoft.VC90.CRT» с номером версии «9.0.21022.8».
lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?gt; lt;assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'gt; lt;trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"gt; lt;securitygt; lt;requestedPrivilegesgt; lt;!--I am okay with whatever security privilege level--gt; lt;requestedExecutionLevel level='asInvoker' uiAccess='false' /gt; lt;/requestedPrivilegesgt; lt;/securitygt; lt;/trustInfogt; lt;dependencygt; lt;dependentAssemblygt; lt;!--I need Microsoft Visual C++ 2008 Runtime to run--gt; lt;assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /gt; lt;/dependentAssemblygt; lt;/dependencygt; lt;/assemblygt;
Манифест кеша в HTML5 - это простой текстовый файл, сопровождающий веб-приложение, которое помогает ему работать при отсутствии сетевого подключения. Механизм кэширования считывает этот файл и гарантирует, что его содержимое доступно локально. Манифест кеша HTML5 обслуживается с типом содержимого «text / cache-manifest».
Пример манифеста кеша:
CACHE MANIFEST /test.css /test.js /test.png