**مانیفست کش در اچ‌تی‌ام‌ال5 (HTML5)** یک ویژگی ذخیره‌سازی نرم‌افزاری است که امکان دسترسی به یک برنامه وب را حتی بدون اتصال به شبکه فراهم می‌کند. این مانیفست در ۲۸ اکتبر ۲۰۱۴ بخشی از توصیه نامه اعتلاف وب جهان‌گستر (W3C) شد.

از سال ۲۰۲۱، این فناوری دیگر به‌طور گسترده در دسترس نیست. این فناوری از فایرفاکس ۸۵، حذف شد و به‌طور پیش فرض در کروم ۸۴ نیز غیرفعال شد و در کروم ۹۵ حذف شد. در حال حاضر استفاده از هر یک از ویژگی‌های برنامه وب آفلاین به شدت ممنوع است و به جای آن استفاده از سرویس‌ورکر توصیه می‌شود.

پیشینه
------

برنامه‌های کاربردی وب شامل صفحات وب هستند که باید از یک شبکه دانلود شوند. برای اینکه این اتفاق بیفتد باید یک اتصال شبکه وجود داشته باشد. با این حال، موارد زیادی وجود دارد که کاربران به دلیل شرایط خارج از کنترل آنها نمی‌توانند به شبکه متصل شوند. اچ‌تی‌ام‌ال۵ امکان دسترسی به برنامه وب را حتی بدون اتصال به شبکه با استفاده از مانیفست کش فراهم می‌کند.

برنامه‌های کاربردی وب از منابع شناسایی شده توسط آدرس‌های اینترنتی تشکیل شده‌اند. اینها می‌توانند اچ‌تی‌ام‌ال، سی‌اس‌اس، جاوا اسکریپت، تصاویر یا هر منبع دیگری باشند که برای ارائه یک برنامه وب مورد نیاز است. آدرس‌های آن‌ها را می‌توان در یک فایل مانیفست کش کپی کرد، که می‌تواند به‌طور منظم توسط نویسنده برنامه وب به‌روزرسانی شود و نشان‌دهنده هر آدرس وب جدیدی است که اضافه یا حذف شده‌است. هنگامی که برای اولین بار به یک شبکه متصل می‌شوید، یک مرورگر وب فایل مانیفست اچ‌تی‌ام‌ال۵ را می‌خواند، منابع داده شده را دانلود می‌کند و آنها را به صورت محلی ذخیره می‌کند. سپس، در صورت عدم وجود اتصال شبکه، مرورگر وب به جای آن به نسخه‌های محلی منتقل می‌شود و برنامه وب را آفلاین می‌کند.

مبانی
-----

برای اینکه برنامه‌های آفلاین کار کنند، یک فایل مانیفست کش باید توسط توسعه دهنده وب ایجاد شود. اگر برنامه وب بیش از یک صفحه باشد، هر صفحه باید دارای یک ویژگی آشکار باشد که به مانیفست کش اشاره می‌کند. هر صفحه ای که به مانیفست ارجاع می‌دهد به صورت محلی ذخیره می‌شود. فایل مانیفست کش یک فایل متنی است که در قسمت دیگری از سرور قرار دارد. باید با نوع محتوا `text/cache-manifest`

ویژگی `manifest="<path>"` باید به عنصر *html* اضافه شود تا فایل مانیفست کش کار کند. مثال:

```
<!DOCTYPE HTML>
<html manifest="cache.appcache">
  <body>
    …
  </body>
</html>
```
آرگومان صفت manifest یک مسیر نسبی یا مطلق به فایل manifest است.

فایل HTML ارائه شده در زیر را در نظر بگیرید. عنصر <html> نشان می‌دهد که فایلی به نام *cache.appcache* حاوی فهرستی از منابع (یعنی test.js, test.css) مورد نیاز برای کار آفلاین این صفحه وب است.

نام‌های رایج این فایل cache.manifest و manifest.appcache هستند.

```
<!—- test.html -->
<!DOCTYPE HTML>
<html manifest="cache.appcache">
<head>
  <title>Test</title>
  <script src="test.js"></script>
  <link rel="stylesheet" href="test.css">
</head>
<body>
  Testing the manifest file.
</body>
</html>
```

منابع
-----

1. ↑  "Application cache as part of the W3C Recommendation". 28 October 2014. Retrieved 30 May 2016.
2. ↑  "Using the application cache - HTML: HyperText Markup Language | MDN". *developer.mozilla.org*. Archived from the original on 15 February 2019. Retrieved 2021-04-11.
3. ↑  "Preparing for AppCache removal". *web.dev* (به انگلیسی). Archived from the original on 2020-05-20. Retrieved 2021-09-02.
4. ↑  "Window.applicationCache". *MDN Web Docs*. Mozilla. Archived from the original on 6 March 2022. Retrieved 2020-12-29.
5. ↑  Bidelman, Eric (29 October 2013). "A Beginner's Guide to Using the Application Cache". Retrieved 23 April 2014.

درگاه‌ها:فناوریرایانهاینترنت