Content-Disposition干吗用

Standard

我现在已经不记得当时是怎么找到Content-Disposition这个可选的HTTP Response Header了,好像是response content filename,但好像又不是,不过这都不重要了,重要的是我已经知道了Content-Disposition能够满足我我的需求,其实我就是想当你从我的服务器上动态的下载诸如Word、Excel的时候,我能够给你提供一个默认的、可读的文件名。而Content-Disposition就是干这个用的。

根据RFC2183,Content-Disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名。具体的定义如下

content-disposition = “Content-Disposition” “:”
disposition-type *( “;” disposition-parm )
disposition-type = “attachment” | disp-extension-token
disposition-parm = filename-parm | disp-extension-parm
filename-parm = “filename” “=” quoted-string
disp-extension-token = token
disp-extension-parm = token “=” ( token | quoted-string )

那么由上可知具体的例子:

Content-Disposition: attachment; filename=“filename.xls”

当然filename参数可以包含路径信息,但User-Agnet会忽略掉这些信息,只会把路径信息的最后一部分做为文件名。当你在响应类型为application/octet- stream情况下使用了这个头信息的话,那就意味着你不想直接显示内容,而是弹出一个”文件下载”的对话框,接下来就是由你来决定“打开”还是“保存”了。

当然如果希望能跟详细的了解一下,不妨看看

这些长篇大论的东西了。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s