浏览器如何确定是下载还是显示

时间:2013-04-19 02:18:45

标签: browser http-headers

我有一个web资源,它返回带有Content-Type:application/json的json内容。通常,内容会直接在浏览器中显示,但有时则不会显示下载提示。

我知道有一个标题Content-Disposition:inline/attachment可以明确告诉浏览器是下载还是显示。但如果我没有指定这个标题,浏览器如何决定?它的策略是什么?

2 个答案:

答案 0 :(得分:3)

来自Mozilla的File types and download actions(强调我的):

  

单击链接下载文件时, MIME类型确定采取的操作。如果您看到一个“打开”对话框,询问您是要保存文件还是使用指定的应用程序打开它,这通常意味着您的Mozilla应用程序无法在内部处理MIME类型,没有安装和启用可以处理的插件它并且您之前没有选择下载操作或帮助应用程序来始终用于该类型的文件

浏览器预先配置为处理图像等基本格式。插件(可以与浏览器捆绑在一起)为各种常见文件类型(如pdfs)添加处理。还可以有“帮助应用程序”,这意味着浏览器会自动下载并转发文件到应用程序(例如打开torrent客户端的torrent磁铁链接)

除此之外,它会询问用户是否绑定默认操作(如果Content-Typeapplication/octet-stream,则无法设置默认操作)。其他浏览器的工作方式相同。

答案 1 :(得分:1)

标题中指定了哪些Content-Type?如果浏览器不知道它是什么,它可能默认为application/octet-stream并提示下载。

Here's a brief blog about it.