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

Browser 浏览器如何决定是下载还是显示,browser,http-headers,Browser,Http Headers,我有一个web资源,它返回内容类型为application/json的json内容。通常内容直接显示在浏览器中,但有时不显示,而是显示下载提示 我知道有一个标题Content Disposition:inline/attachment,它可以明确地告诉浏览器是下载还是显示。但如果我不指定这个标题,浏览器如何决定?它的策略是什么?标题中指定了什么内容类型?如果浏览器不知道它是什么,它可能默认为application/octet-stream,并提示下载 来自Mozilla(我的重点): 单击链接下

我有一个web资源,它返回内容类型为application/json的json内容。通常内容直接显示在浏览器中,但有时不显示,而是显示下载提示


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

标题中指定了什么
内容类型?如果浏览器不知道它是什么,它可能默认为
application/octet-stream
,并提示下载

来自Mozilla(我的重点):

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

浏览器经过预配置,可以处理图像等基本格式。插件(可能与浏览器捆绑在一起)添加了对各种常见文件类型(如PDF)的处理。也可以有“助手应用程序”,这意味着浏览器会自动下载文件并将其转发给应用程序(例如打开torrent客户端的torrent magnet链接)

除此之外,它将一直询问,直到用户绑定默认操作为止(如果
内容类型
应用程序/octet流
,则无法设置默认操作)。其他浏览器的工作原理相同