Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

http 请求 header 应用分析

Posted on 2008-01-30 20:04  analyzer  阅读(752)  评论(0编辑  收藏  举报

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

写完才发现很乱……不知道有没有看懂,看不懂给我留言就好了……

我要啦免费统计