http 协议头 Content-Disposition 的作用

http 协议头 Content-Disposition 的作用

小小孩
2024-03-29 / 1 评论 / 58 阅读 / 正在检测是否收录...

在响应中 Content-Disposition 是真正的作为消息头的一部分,它主要有两种用法:

inline

当它的值为 inline 时,表示响应的消息作为 HTML 页面的一部分(inline 是默认值)。

假设你本身想要下载一个 PDF 文件,但是你将 Content-Disposition 的值设置为 inline 或者没设置,你的响应头对应如下:

Content-Type: application/pdf
Content-Disposition: inline; filename="example.pdf"

此时浏览器不会去下载这个文件,而是直接在浏览器中去打开这个 PDF 文件。

相信这样的场景大家会熟悉,我们经常去浏览一个学术完整的 PDF 链接时都是直接在浏览器中打开 PDF 文件,而不是下载到本地,这就是设置了 Content-Disposition: inline 的原因(即使没设置它的默认值也是这个)。

attachment

现在再来看下 Content-Disposition: attachment,这个是真正意义上的文件下载。还是以前面的响应头为例:

Content-Type: application/pdf
Content-Disposition: attachment; filename="example.pdf"

此时,当服务器给客户端(通常是浏览器)响应时,它会有一个弹窗提示,提醒你保存文件。而保存的文件的默认名就是 filename 指定的值,当然该属性是非必须的。

0

评论 (1)

取消
  1. 头像
    jiyouzhan
    Windows 7 · FireFox

    这篇文章写得深入浅出,让我这个小白也看懂了!

    回复