【问题标题】:Why would Internet Explorer partially download a resource?为什么 Internet Explorer 会部分下载资源?
【发布时间】:2015-09-28 01:56:14
【问题描述】:

问题是,为什么 IE 会部分下载资源?

我们有一个应用程序使用了无法在 IE 11.0.9600 中正确显示的 bootswatch 字体。经检查,IE 报告下载的数据少于整个文件的大小。各种字形和字体没有正确显示,这似乎是有道理的,因为它们背后的数据永远不会到达。

通常,这些字体文件为 25KB 及以上,Internet Explorer 报告获取的数据量异常低,但使用 HTTP 200“一切正常”。

这不是大多数/所有资源的普遍问题,只是 bootswatch(以及以前的 fontawesome)资源。

检查 IE 和 curl 报告的标头(都作为 curl,并使用 curl 模拟 IE)表明服务器似乎做的一切都是正确的。在 curl、firefox 或 chrome 中不会出现此问题。

编辑 - 下面的用户建议进一步调查,我已经下载并使用了 fiddler,跟踪了连接 - fiddler 报告此请求没有 gzip 编码(这意味着我猜 IE 的报告为 0.65KB不太可能是压缩大小)。 Fiddler 报告正确的文件大小,保存响应正文会生成正确文件的完美副本。 fidder 一直在报告这个问题,IE 的网络窗口继续报告 25KB 文件中的 0.65KB,并且字形无法正常显示。有关故障排除的任何其他建议?

【问题讨论】:

    标签: internet-explorer http internet-explorer-11 ie-developer-tools bootswatch


    【解决方案1】:

    恕我直言,IE 报告的内容长度是未压缩的。如果您想真正查看收到的内容,请尝试安装 fiddler (http://www.telerik.com/download/fiddler) 或 WireShark。 这是 IE 和 fiddler 中压缩 js 的示例: http://i.stack.imgur.com/HaOwl.gif

    您会看到压缩后的大小为 649 字节,而未压缩的大小为 6662(可能是您看到的差异)。

    使用 fiddler,您可以保存内容并检查您的字体是否正确发送。只需右键单击资源行并选择: 保存/响应/响应正文 和浏览器保存文件的位置。

    这样您应该确保您的 IE 客户端和服务器之间的特定文件不会发生任何变化。

    【讨论】:

    • 感谢您的建议 - 我已更新编辑结果。
    • 查看此链接:stackoverflow.com/questions/25857942/… ==> stackoverflow.com/questions/13415073/…。一样的症状。您在 IE 中获得的大小看起来是响应标头大小。只是缓存问题?下载相同的 woff 字体后,我不会自行复制它。我不相信这一点,但最好确定一下:自 2013 年 1 月以来,WOFF 的正确 Mime 类型是 application/font-woff,而不是 application/x-font-woff (stackoverflow.com/questions/2871655/proper-mime-type-for-fonts)。
    • 哇——谢谢一百万。这最终使我在另一个小时的工作中找到了正确的答案。 Tl;dr - 如果没有通过 HTTP 标头设置缓存生存期,IE 将无法正确加载字体资源。在 tomcat 的情况下,如果您编写额外的 HttpFilter 来为 *.eot、*.ttf、*.woff 设置缓存生存期,问题就会消失。我可以建议您将此添加到您的答案中吗?但我已经将其标记为已回答,因为它引导了我正确的方式。
    猜你喜欢
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    相关资源
    最近更新 更多