Content-Disposition response 响应头产生的原因是因为假如用户请求的内容是一个文件,能够让源服务器支持一个默认的文件名字。这种用法从 Content-Disposition in RFC 1806 继承。
Content-Disposition 的格式为
表 1-1
disposition-type *( ";" disposition-parm ) |
一个 content-disposition 必须由一个 disposition-type 组成,允许没有或多个 disposition-parm 选项,以分号分隔。
disposition-type 的格式为
表 1-2
“attachment “| disp-extension-token |
一个 disposition-type 由一个 attachment 组成或者由一个 disp-extension-token 组成。
disposition-parm 的格式为
表 1-3
filename-parm | disp-extension-parm |
一个 disposition-parm 由一个 filename-parm 或者一个 disp-extension-parm 组成。
filename-parm 格式为
表 1-4
“filename” “= “ quoted-string |
一个 filename-parm 由一个关键字 filename 、等号和 quoted-string 组成。
disp-extension-token 的格式和 token 相同
disp-extension-parm 的格式为
表 1-5
token “=” ( token | quoted-string ) |
一个 disp-extension-parm 由一个 字符串和等号组成 .
例如 Content-Disposition: attachment; filename="fname.ext"
接收这个报头的用户代理不应该在 filename-parm 中带入任何路径信息,这只是 HTTP 实现的一个参数而已。 Filename 应该被认为是终端的组建而已。
如果设置 content-type 的值为 application/octet- stream ,这样就会暗示用户代理不显示这次 response 的内容,而是显示选择路径的对话框。
注: “”中的内容表示固定的内容,不允许改变
--RayC 2009-09-03-
译自 http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html 19.5.1 Content-Disposition