加载缓存清单文件

Posted

技术标签:

【中文标题】加载缓存清单文件【英文标题】:Load cache manifest file 【发布时间】:2011-10-30 09:49:52 【问题描述】:

如何让服务器返回 text/cache-manifest 内容类型的清单文件?默认情况下,如果我把它放到服务器上并包含在<html manifest="cache.manifest"> 中,它就会被加载为application/x-ms-manifest 类型。

【问题讨论】:

【参考方案1】:

这就是为什么推荐的清单文件扩展名现在是 .appcache 的原因之一 - 微软已经在使用 .manifest 来做其他事情。配置内容类型:

在 IIS6 及更低版本中,在虚拟目录或网站属性 (MS instructions) 的标题选项卡上添加 MIME 类型映射。 在 IIS7 及更高版本中,转到 MIME types in Features view 或 add a mimeMap entry under staticContent in your web.config 就像 <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />

【讨论】:

有一点需要注意。我有一个 .manifest 文件,只是在 Visual Studio 中将扩展名更改为 .appcache。这不起作用,只有当我创建了一个名为 cache.appcache 的全新文本文件时,我才能让它工作。【参考方案2】:

你可以包括

AddType text/cache-manifest .appcache

在您的 .htaccess 中

或者如果你碰巧使用 php,你可以发送标题信息

header('Content-Type: text/cache-manifest');

【讨论】:

你在 IIS 上没有得到.htaccess【参考方案3】:

在通过 GoDaddy 托管在 iPad 上缓存离线站点时遇到问题...他们的 mime 类型不适合 Safari 支持,所以我只是创建了一个 cache.ASPX 页面:

<%@Page ContentType="text/cache-manifest" ResponseEncoding ="utf-8" %>

在页面底部...希望这对某人有帮助!

【讨论】:

【参考方案4】:

您必须有一个 helicon 文件类型 .htaccess 才能使用 IIS。是可以有.htaccess文件的,只要是#Helicon ISAPI_Rewrite配置文件即可

版本 3.1.0.82

【讨论】:

以上是关于加载缓存清单文件的主要内容,如果未能解决你的问题,请参考以下文章

检查 Angular SPA 视图更改的缓存清单更新

工作箱 webpack 插件从预缓存清单中排除文件夹

关于.net 对.manifest清单文件查找缓存的猜想

Redshift - 复制多个清单文件

使用多个清单文件从 S3 加载到 Redshift?

使用清单从多个 s3 文件夹加载红移表