asp 和 php 都可以自定义 header 参数 ,一般很少会用到,可是还是非常有用的,在这儿总结一下。
使用方法 文章中以asp为例:
asp:
<%
response.ContentType = “contenttype设置具体见下”
response.AddHeader “名称”,”值”
%>
php:
<%
header(“Content-type: contenttype设置具体见下”);
header(“名称: 值”);
%>
应用:
1.强制下载。一些文件格式,在浏览器中默认是打开的,比如doc文件,excel文件,如果你安装了office,就会直接在浏览器打开。更多的比如图片文件,pdf文件。有的时候,我们希望它能直接保存,特别是一些下载栏目。这时候只要加一句header参数:
<% response.AddHeader “content-disposition”,”attachment” %>
这时就会自动打开下载窗口了。
2.隐藏文件名。有些时候,我们不希望把文件名告诉别人,甚至我们没有文件名,因为很多时候内容是动态生成的,没有一个好的文件名,是用户很困惑的,他们不得不自己改名。这时候我们又可以添加另外一个值。
<% response.AddHeader “content-disposition”,”attachment;filename=你需要用户得到的文件名” %>
ps:在调用上面的语句时,还要加上一句设定文档类别。
Content-Type都是“主类型/子类型”的形式。主类型有text, image, audio, video, application, multipart, message等,分别表示文本、图片、音频、视频、应用、分段、消息等。每个主类型都可能有多个子类型,如text类型就包含plain, html, xml, css等子类型。以X-开头的主类型和子类型,同样表示自定义的类型,未向IANA正式注册,但大多已经约定成俗了。如application/x- zip-compressed是ZIP文件类型。在Windows中,注册表的“HKEY_CLASSES_ROOT\MIME\Database\ Content Type”内列举了除multipart之外大部分已知的Content-Type。
关于参数的形式,RFC里有很多补充规定,有的允许带几个参数,较为常见的有
主类型 | 参数名 | 含义 |
其中字符集也能在Windows注册表的“HKEY_CLASSES_ROOT\MIME\Database\Charset”内见到。
例如:
excel:application/vnd.ms_excel
word:application/msword
图片:image/gif
html:text/HTML
写完才发现很乱……不知道有没有看懂,看不懂给我留言就好了……