`

设置HTTP文件下载四要诀

阅读更多

提示一:强制下载并控制文件名

在HTML中提供一个下载链接很简单:

 
1.<a href="http://download.httpwatch.com/httpwatch.exe">Download<a>

对于浏览器不知道如何呈现的二进制文件,如安装程序和ZIP文件,这工作的很好。这会出现一个对话框,允许用户将文件存储到本地。

IE File Save Dialog

问题在于,如果文件能呈现自己,不同的浏览器行为就不一样。例如,如果你链接一个纯文本文件,浏览器会打开它,不会提示保存下载。

Plain Text in IE

你可以加入以下响应头文件强制使用文件下载对话框。

Content-Disposition: attachment; filename=<file name.ext>

头部还可以控制默认的文件名,这可以帮助你方便的生成像getfile.aspx一样的内容,但你要提供一个更有意义的文件名给用户。

对于静态内容,您可以在您的Web服务器手动配置额外的头文件。例如,下面是在IIS中设置:

content_disposition_header

为动态生成的内容,您需要在网页的服务器端代码中添加此头部。

加入了头部之后,浏览器总是提示用户下载该文件:

plain_text_download

提示2:使用有效的HTTP缓存

与任何其他内容一样,它值得设置HTTP缓存最大限度地提高下载速度,减少带宽的成本。常规的内容需要立即过期,或者被永远缓存。

我们下载HTTP规范(RFC2616)的例子可以永远被缓存,因为不希望改变它。在HttpWatch可以看到这些,我们设置了一个很长的过期时间,并将Cache-Control 的值设为“public”。

effective_caching

这样将来下载文件就可以从本地浏览器缓存中或中间代理来传输。如果该文件频繁变换,你可能需要它立即过期,以便总是下载新的副本。你可以通过设置Expires为-1或以往的任何日期。

提示3:不要破坏IE浏览器HTTPS下载

利用Cache-Control响应头部,人们可以很容易的使用无存储和无缓存以防止任何一个文件缓存频繁更新。

 
1.Cache-Control: no-store, no-cache

这在Firefox能工作,但在Internet Explorer就得要小心。它将这些标签解释为--正在是用HTTPS 时,内容永远不会存储到磁盘,导致文件下载对话框在0%挂起几分钟。

https_ie_hang

它最终会显示一条错误信息:

https_ie_error.png

post on Eric Lawrence’s IEInternals blog 这篇文章中,有更多关于此问题和其它原因的信息。

提示4:不要忘了Setup Analytics

在你的的网站,你可能要一并跟踪下载文件和其他指标。基于JavaScript基础的解决方 案,如谷歌分析备受欢迎,但默认情况下不显示文件下载。这是因为下载一个文件不会导致任何JavaScript的执行。使用谷歌分析,您需要添加一个 onlick处理程序来追踪下载。

 
1.<a onclick="pageTracker._trackPageview("/httpwatch.exe");" href="...">Download</a>

你可以看到文件开始下载之前谷歌分析被调用了。

转载地址:http://www.denisdeng.com/?p=773

原文地址:Four Tips for Setting up HTTP File Downloads

分享到:
评论

相关推荐

    求精要诀——JavaEE编程开发案例精讲 源代码

    【标题】"求精要诀——JavaEE编程开发案例精讲 源代码"是一部针对JavaEE编程的深度学习资源,旨在通过实例教学帮助开发者掌握JavaEE的核心技术和实践技巧。这个压缩包包含了从第1章到第7章的实践部分源代码,提供了...

    求精要诀——Java EE编程开发案例精讲 PPT

    这个压缩包包含了一系列章节的PPT文件,涵盖了从基础到进阶的多个主题,包括但不限于以下几个方面: 1. **Java EE概述**:Java EE(Java Platform, Enterprise Edition)是Java平台的一个子集,专为构建分布式、...

    提高C#编程水平不可不读的50个要诀

    45. **避免资源泄露**:关注并避免常见的资源泄露问题,如未关闭的文件句柄、数据库连接和网络流,可以确保系统的稳定性和性能。 46. **使用InterOp技术**:InterOp技术允许C#代码与非托管代码(如C++、COM组件)...

    技巧经验-经验技巧:学好英语20个经典要诀.docx

    ### 第四要诀:听正常语速的英语,加速听力进步 - **问题分析**: - 教学材料语速过慢可能导致实际交流时难以适应。 - 正常语速下的英语存在同化、减弱和连音现象。 - **解决方案**: - 寻找真实场景下的英语...

    DIY 攒机要诀 配件 流程 步骤

    本文将基于给定文件信息中的标题“DIY攒机要诀 配件 流程 步骤”,以及描述内容,详细介绍DIY攒机的关键步骤和实用技巧。 #### 一、明确用途 在开始攒机之前,首先要明确计算机的主要用途。根据用途的不同,所需...

    弱电、系统集成、项目招投标要诀

    【弱电系统集成项目招投标要诀】 弱电系统集成项目的招投标是工程项目中常见的交易方式,尤其在政府领域,如医院智能化建设。招投标过程遵循一定的规范和法律约束,旨在确保公平、透明的市场竞争,同时保障项目的...

    地理水法要诀卷五.pdf

    【地理水法要诀卷五】是一篇关于风水学中水法运用的文献,主要讲述了如何根据地形水流来布局和调整阴阳宅的环境,以达到吉利的效果。以下为该文件中涉及的重要知识点: 1. **水法原则**: - 水的流动方向至关重要...

    业主投诉接待的十要诀.docx

    以下是根据提供的文件内容总结的“业主投诉接待的十要诀”: 1. **热情接待**:当业主提出投诉时,应立即给予友好的反应,包括微笑、礼貌的语言、提供热水以及舒适的座位,让业主感受到被尊重和重视,有助于缓和...

    参考资料-尽职调查的十大要诀.zip

    对于重要的文件,如审计报告、税务记录,要进行深入分析。 四、现场考察与访谈 实地考察公司运营场所,了解生产、管理情况,并与管理层、员工、供应商、客户等进行访谈,获取第一手资料,验证书面资料的真实性。 ...

    帮你修复DNS故障的十个要诀.docx

    以下是从文档中提取的十个要诀: 1. **验证网络连接**:首先,确认DNS服务器的网络连接是否正常。使用`ping`命令检查服务器与其他机器的通信。如果`ping`失败,可能是由于网卡故障或防火墙设置不正确。 2. **确定...

    java模式下的编程要诀源码整理

    "Java模式下的编程要诀源码整理"很显然聚焦于如何利用设计模式和最佳实践来提升Java编程的效率和质量。这个压缩包可能包含了一系列有关Java设计模式的示例代码和相关讲解,帮助开发者深入理解和应用这些模式。 设计...

    LVS基本概念及要诀--NetSeek.pdf

    具体操作涉及编辑`/proc/sys/net/ipv4/conf/`目录下的相关文件,设置`arp_ignore`和`arp_announce`的值为1和2。 **ipvsadm监控命令**:`ipvsadm -L -n --stats`用于查看LVS的统计信息,包括连接数、输入输出的包...

    房地产销售增卖点降成本实战要诀.doc

    以下是从提供的文件内容中提炼出的一些实战要诀: 1. 景观设计优化: - 自然坡岸:水景社区的水岸设计应考虑亲水性与安全性,避免高昂的维护成本。 - 弯窄人行道:窄而弯曲的人行道不仅美观,还能节省材料成本。 ...

    提高C#编程水平不可不读的50个要诀.txt

    合理设置类成员的访问级别,如private、protected、internal等,可以提高类的封装性,保护内部状态,减少代码间的耦合度。 #### 34. 设计可扩展的Web API Web API是现代应用程序的关键组成部分,设计时应考虑可...

    软件管理沉思录:SEI的项目管理、人际沟通和团队协作要诀,完整扫描版

    本书为软件工程领域权威人士之作,书中首先深入讲解了计划类型和计划过程,接着分析了项目团队建设和激励,然后描写了如何与经理共事,如何说服他们采用最佳实践,最后探讨了个人职责、承诺和过程。...

    2021-2022年收藏的精品资料识别企业融资陷阱五要诀.doc

    【企业融资陷阱识别】在企业运营的不同阶段,融资都是至关重要的。然而,中国的民营企业,特别是中...通过上述五要诀,企业能够更好地保护自己,避免落入融资陷阱,从而有效地寻求和利用合法的资金支持,推动企业发展。

    abaqus常见问题汇总2.0

    在寻求ABAQUS问题的帮助时,确保清晰地描述问题现象,提供详细的信息如错误信息、模型设置和输入文件的部分截图。这样有助于其他用户更准确地诊断问题,并提供有效的解决方案。 **2. 故障诊断基本方法** 当遇到问题...

    从亚马逊云服务学到的成功三大要诀.pdf

    亚马逊云服务(Amazon Web Services, AWS)的成功可以归结为三大关键因素,这些经验教训对于任何想要在互联网行业中取得成功的...同时,了解云服务可能带来的挑战,如弹性文件系统对成本的影响,也是做出明智决策的关键。

    2023年二级C语言上机编程题答题技巧.doc

    在上机编程题中,考官不会直接检查我们编写的程序,而是检查out.dat文件中的数据是否正确。因此,我们可以通过修改out.dat文件中的答案,而不需要编写程序就可以拿到满分。 二、使用技巧的条件 使用这个技巧需要...

    abaqus常见问题汇总

    #### 二、论坛提问要诀 - **问题描述**:在论坛提问时,应当尽可能详细地描述遇到的问题背景、具体表现以及已经尝试过的解决方案,这样更有利于他人提供有针对性的帮助。 #### 三、故障诊断基本方法 - **日志检查...

Global site tag (gtag.js) - Google Analytics