Internet explorer AppCache没有';我不能通过SSL在IE上工作

Internet explorer AppCache没有';我不能通过SSL在IE上工作,internet-explorer,ssl,html5-appcache,Internet Explorer,Ssl,Html5 Appcache,我们在IIS中有一个通过SSL托管的网站,我们在尝试使其在IE中脱机工作时面临问题 我们在IE 11中为登录页添加了书签,并且我们有以下IEDelete Browsing History设置,以便IE不会在浏览器退出时删除临时Internet文件、本地存储和IndexedDB(请注意,保留Fav..复选框已选中) 当我们通过HTTP/HTTPs访问IE中的页面时,IE正在正确缓存网站,并且正在创建IndexedDB数据存储 我们面临以下问题: 当我们退出浏览器时 正在清除该域的IndexedD

我们在IIS中有一个通过SSL托管的网站,我们在尝试使其在IE中脱机工作时面临问题

我们在IE 11中为登录页添加了书签,并且我们有以下IE
Delete Browsing History
设置,以便IE不会在浏览器退出时删除临时Internet文件、本地存储和IndexedDB(请注意,保留Fav..复选框已选中)

当我们通过HTTP/HTTPs访问IE中的页面时,IE正在正确缓存网站,并且正在创建IndexedDB数据存储

我们面临以下问题:

当我们退出浏览器时

  • 正在清除该域的IndexedDB(对于HTTP/HTTPs)
  • 缓存文件(HTML、CSS、JS等)存在于Internet临时文件文件夹中。但当通过HTTPs访问时,IE无法以脱机模式加载网站。当我监视网络呼叫时,我可以看到对登录页的呼叫被中止
  • 通过HTTP访问时,网站在脱机模式下加载良好(当然没有脱机数据,因为IndexedDB正在被擦除)

    临时解决方案

    目前,我们有
    临时互联网文件…
    Cookies和网站数据
    未经检查,以使我们的网站在脱机时正常工作

    问题

  • IE删除IndexedDB是正常的吗?即使我们选中了
    保留收藏夹网站数据
    ,并且域/登录页被书签
  • 为什么我可以在离线模式下通过HTTP而不是HTTPs访问网站,即使临时文件、清单等仍然存在
  • 有没有人曾经让离线网站使用这些浏览器设置通过HTTPs进行工作

    更新: 我们最终不得不取消选中
    临时Internet文件..“&
    Cookies和网站数据`以使脱机正常工作。但这还远远不够完美。我们面临一个间歇性问题,当windows一夜之间关闭时,缓存页面将无法加载。

    根据更新缓存:

    一旦应用程序脱机,它将保持缓存状态,直到 发生以下情况:

  • 用户为您的站点清除浏览器的数据存储
  • 清单文件已被修改。注意:更新清单中列出的文件并不意味着浏览器将重新缓存该资源 必须更改清单文件本身
  • 如果它是一个InPrivate浏览会话,那么我会期待您描述的行为。如果IE设置为将SSL页面写入磁盘(并且不是InPrivate),那么我会怀疑这些是IE中的错误,或者是缺少AppCache的功能

    请参见MSDN上的讨论。讨论中还有一个有趣的脚注:

    更新:在IE10中,现在不将加密页面保存到磁盘选项 行为不同。而不是试图阻止HTTPS资源 保存到磁盘后,该选项将从HTTPS中删除缓存 关闭浏览器时从缓存中删除资源。这有助于确保 即使启用此设置,浏览器也能正常工作。 该复选框将被重新命名为“在浏览器运行时清除HTTPS缓存” 但不幸的是,我们没有时间了

    MSDN上也有。它可能会为您提供一些见解。最后,在和上有实际的标准。但我看不出该标准在哪里指定SSL/TLS加载页面的行为

    由于上面第(1)项的原因,AppCache将成为一个有问题的孩子。想象一个用户删除了在脱机web应用中创建的字处理文档。或者想象一个通过WebCrypto创建的银行的设置机密在用户清除缓存时遭到重击


    这些问题似乎没完没了,它甚至打断了WebCrypto等其他工作组的用例。

    “。。。使其在IE中脱机工作。。。“-您是否在服务器上的清单中列出了资源?它是否有回退:部分?是的,清单中列出的资源存在于服务器中,并且正在下载到Temp Internet Files文件夹中。我没有在清单中定义回退部分。谢谢@user000001。我会尽量避免他们的麻烦。
    不将加密页面保存到磁盘
    选项未选中。我们还创建了一个示例azure站点来验证。。但不幸的是,它没有缓存任何内容。