HTTP响应的头文件影响文件下载(2)
提示2:使用有效的HTTP缓存
与任何其他内容一样,它值得设置HTTP缓存最大限度地提高下载速度,减少带宽的成本。常规的内容需要立即过期,或者被永远缓存。
我们下载HTTP规范(RFC2616)的例子可以永远被缓存,因为不希望改变它。在HttpWatch可以看到这些,我们设置了一个很长的过期时间,并将Cache-Control 的值设为“public”。
这样将来下载文件就可以从本地浏览器缓存中或中间代理来传输。如果该文件频繁变换,你可能需要它立即过期,以便总是下载新的副本。你可以通过设置Expires为-1或以往的任何日期。
提示3:不要破坏IE浏览器HTTPS下载
利用Cache-Control响应头部,人们可以很容易的使用无存储和无缓存以防止任何一个文件缓存频繁更新。
Cache-Control: no-store, no-cache
这在Firefox能工作,但在Internet Explorer就得要小心。它将这些标签解释为--正在是用HTTPS 时,内容永远不会存储到磁盘,导致文件下载对话框在0%挂起几分钟。
它最终会显示一条错误信息:
在post on Eric Lawrence’s IEInternals blog 这篇文章中,有更多关于此问题和其它原因的信息。
提示#4:不要忘了Setup Analytics
在你的的网站,你可能要一并跟踪下载文件和其他指标。基于JavaScript基础的解决方案,如谷歌分析备受欢迎,但默认情况下不显示文件下载。这是因为下载一个文件不会导致任何JavaScript的执行。使用谷歌分析,您需要添加一个onlick处理程序来追踪下载。
<
a
onclick
=
"pageTracker._trackPageview('/httpwatch.exe');"
href
=
"..."
>Download</
a
>
你可以看到文件开始下载之前谷歌分析被调用了。