在常规的HTTP应答中,Content-Disposition
消息头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。
1、作为消息主体中的消息头
在HTTP场景中,第一个参数或者是inline
(默认值,表示回复中的消息体会以页面的一部分或者整个页面的形式展示),或者是attachment
(意味着消息体应该被下载到本地;大多数浏览器会呈现一个“保存为”的对话框,将filename
的值预填为下载后的文件名,假如它存在的话)。
1 | Content-Disposition: inline |
2、作为multipart body中的消息头
在HTTP场景中。第一个参数总是固定不变的form-data
;附加的参数不区分大小写,并且拥有参数值,参数名与参数值用等号(=)连接,参数值用双引号括起来。参数之间用分号(;)分隔。
1 | Content-Disposition: form-data |
3、示例
以下是一则可以触发”保存为”对话框的服务器应答:
1 | 200 OK |
这个简单的HTML文件会被下载到本地而不是在浏览器中展示。
大多数浏览器默认会建议将cool.html
作为文件名。
以下是一个HTML表单的示例,展示了在 multipart/form-data
format 格式的报文中使用Content-Disposition
消息头的情况:
1 | POST /test.html HTTP/1.1 |