【问题标题】:How does browser determine whether to download or show浏览器如何判断是下载还是显示
【发布时间】:2013-04-19 11:57:48
【问题描述】:

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

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

【问题讨论】:

    标签: browser http-headers


    【解决方案1】:

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

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

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

    其他的,它会询问直到用户绑定一个默认操作(如果Content-Typeapplication/octet-stream,你不能设置一个默认操作)。其他浏览器的工作方式相同。

    【讨论】:

      【解决方案2】:

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

      Here's a brief blog about it.

      【讨论】:

        猜你喜欢
        • 2013-12-11
        • 1970-01-01
        • 2016-12-05
        • 2021-10-28
        • 1970-01-01
        • 2023-03-07
        • 2013-02-09
        • 2010-09-22
        • 2012-04-28
        相关资源
        最近更新 更多