关于 HTTP中的 Content-Disposition


是什么

Content-Disposition 是 HTTP 请求 Header 中的一个配置项。

有什么用

1. 响应结果的展示形式
在常规的 HTTP 应答中,Content-Disposition 响应头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。

2. multiple/form-data请求体
在 multipart/form-data 类型的应答消息体中,Content-Disposition 消息头可以被用在 multipart 消息体的子部分中,用来给出其对应字段的相关信息。各个子部分由在Content-Type 中定义的分隔符分隔。用在消息体自身则无实际意义。

Content-Disposition 消息头最初是在 MIME 标准中定义的,HTTP 表单及 POST 请求只用到了其所有参数的一个子集。只有 form-data 以及可选的 name 和 filename 三个参数可以应用在 HTTP 场景中。

怎么用

1. 响应结果的展示形式

// 可在响应头中进行如下配置:
// 内联展示在页面上
Content-Disosotion: inline

// 作为附件下载
Content-Disosotion: attachment

// 作为附件下载,并指定文件名
Content-Disosotion: attachment;filename=image.jpg

2. multiple/form-data请求体

name // 表单字段名称
filename // 上传文件时文件的名称

在使用 multiple/form-fata 提交数据时,可以看到对应的属性。

在这里插入图片描述

示例

// 简单 node 服务器测试三种配置的响应结果
const http = require('http');

http
  .createServer((req, res) => {
    res.writeHead('200', {
      'Content-Disposition': 'inline'
    });
    res.end('hello world');
  })
  .listen('1314', () => {
    console.log('Server is running at http://localhost:1314');
  });

inline
在这里插入图片描述

attachment
在这里插入图片描述

attachment;filename=hello.md
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值