В вычислительной технике файл манифеста — это файл , содержащий метаданные для группы сопутствующих файлов, которые являются частью набора или связной единицы. Например, файлы компьютерной программы могут иметь манифест, описывающий имя, номер версии , лицензию и файлы, составляющие программу. [1]
Этот термин заимствован из процедуры перевозки грузов, когда в судовом манифесте указывается экипаж и/или груз судна.
Дистрибутивы Linux в значительной степени полагаются на системы управления пакетами для распространения программного обеспечения. В этой схеме пакет представляет собой архивный файл , содержащий файл манифеста. Основная цель — перечислить файлы, включенные в дистрибутив, либо для обработки различными инструментами упаковки, либо для потребления человеком. Манифесты могут содержать дополнительную информацию; например, в JAR (формат пакета для доставки программного обеспечения, написанного на языке программирования Java ) могут указывать номер версии и точку входа для выполнения. Манифест может дополнительно содержать криптографический хэш или контрольную сумму каждого файла. Создав криптографическую подпись для такого файла манифеста, можно проверить подлинность и целостность всего содержимого дистрибутива, поскольку изменение любого из файлов приведет к аннулированию контрольных сумм в файле манифеста.
В Microsoft Windows программному обеспечению, использующему Windows Side-by-Side ( WinSxS ), требуется манифест приложения, который представляет собой XML- документ, встроенный в исполняемый файл или содержащийся в отдельном XML- файле, сопровождающем его. Он содержит имя, версию, информацию о доверии, привилегии, необходимые для выполнения, и зависимости от других компонентов. [2]
Манифест сборки очень похож на манифест приложения, но описывает идентичность компонентов, известных как « сборки ». Эти сборки упоминаются в манифесте приложения. [3]
Ниже приведен пример манифеста приложения. Этот манифест приложения состоит из двух основных частей: безопасность и зависимости. В разделе безопасности указано, что приложению требуется уровень безопасности «asInvoker»; то есть его можно использовать на любом уровне безопасности, на котором он выполняется. В части зависимостей говорится, что приложению необходим компонент под названием «Microsoft.VC90.CRT» с номером версии «9.0.21022.8».
<?xml version='1.0'coding='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' /> </ RequestPrivileges> </security> </trustInfo> <dependent> <dependentAssembly> <!--Мне нужна среда выполнения Microsoft Visual C++ 2008 для запуска--> <assemblyIdentity type= 'win32' name= 'Microsoft.VC90.CRT' version= '9.0.21022.8' процессорArchitecture= 'x86' publicKeyToken= '1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependent> </assembly>
Манифест кэша в HTML5 — это простой текстовый файл, сопровождающий веб-приложение , который помогает ему работать при отсутствии сетевого подключения. Механизм кэширования считывает этот файл и гарантирует, что его содержимое доступно локально. Манифест кэша HTML5 обслуживается с типом контента, установленным на «text/cache-manifest». [4]
Пример манифеста кэша:
МАНИФЕСТ КЕША/test.css/test.js/test.png
Веб-манифест — это файл JSON , используемый в прогрессивных веб-приложениях, позволяющий легко делиться ими через URL-адрес, обнаруживать их поисковыми системами и облегчать сложные процедуры установки. Кроме того, PWA поддерживают взаимодействие и навигацию в стиле приложений, включая добавление на главный экран , отображение заставок и т. д. [5]
Этот класс Directory содержит специальные метаданные в файле манифеста. Эти данные могут распознаваться поставщиком контактов, который разработчики могут использовать для создания пользовательского каталога и для передачи данных между устройством и онлайн-службами.