header函数解析

一.header函数 按照官方文档的说法,header函数用来输出http头部信息,你可以有下面的这些用法

1、使用header函数进行跳转页面;
header(‘Location:’.$url);
其中$url就是将要跳转的url了。
这种用法的注意事项有以下几点:
Location 和”:”之间不能有空格,否则会出现错误(注释:我刚测试了,在我本地环境下,没有跳转页面,但是也没有报错,不清楚什么原因); 在用header前不能有任何的输出(注释:这点大家都知道的,如果header之前有任何的输出,包括空白,就会出现header already sent by xxx的错误); header 后面的东西还会执行的;

2、使用header声明content-type
header(‘content-type:text/HTML;charset=utf-8′);
这个没有什么好说的;
3、使用header返回response 状态码
header(sprintf(‘%s %d %s’, $http_version, $status_code, $description));
样式就是这样的;
例如:header(‘HTTP/1.1 404 Not Found’);
4、使用header在某个时间后执行跳转
header(“Refresh: {$delay}; url={$url}”);
其中$delay就是推迟跳转的时间,$url为需要跳转的url
例如:header(‘Refresh: 10; url=http://www.example.org/’); 意思为10s后跳转到http://www.eexample.org这个网站
5、使用header控制浏览器缓存
header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . “GMT”);
header(“Cache-Control: no-cache, must-revalidate”);
header(“Pragma: no-cache”);
6、执行http验证
header(‘HTTP/1.1 401 Unauthorized’);
header(‘WWW-Authenticate: Basic realm=”Top Secret”‘);
7、使用header进行下载操作
header(‘Content-Type: application/octet-stream’);//设置内容类型
header(‘Content-Disposition: attachment; filename=”example.zip”‘); //设置MIME用户作为附件下载 如果将attachment换成inline意思为在线打开
header(‘Content-Transfer-Encoding: binary’);//设置传输方式
header(‘Content-Length: ‘.filesize(‘example.zip’));//设置内容长度
// load the file to send:
readfile(‘example.zip’);//读取需要下载的文件

问题来了,究竟什么是http头部信息呢?

二.http 头信息详解

HTTP(HyperTextTransferProtocol)是超文本传输协议 的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请 求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容 包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

通常HTTP消息包括客户机向服务器的请求 消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用 头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以 被扩展为多行,在每行开始处,使用至少一个空格或制表符。

通用头域

通用头域包含请求和响应消息都支持的头域,通用头 域包含Cache-Control、 Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩 展,如果存在不支持的通用头域,一般将会作为实体头域处理。下面简单介绍几个在UPnP消息中使用的通用头域。

Cache-Control头域

Cache- Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如 下:

Public指示响应可被任何缓存区缓存。

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

Date头域

Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。

Pragma头域

Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache- Control:no-cache相同。

请求消息

请求消息的第一行为下面的格式:

MethodSPRequest-URISPHTTP-VersionCRLFMethod 表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、 TRACE。方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。 HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可 以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

SP表示空格。Request-URI遵循URI格式,在此字段为星号 (*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。HTTP- Version表示支持的HTTP版本,例如为HTTP/1.1。CRLF表示换行回车符。请求头域允许客户端向服务器传递关于请求或者关于客户机的附加 信息。请求头域可能包含下列字段Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If- Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、 Proxy-Authorization、Range、Referer、User-Agent。对请求头域的扩展要求通讯双方都支持,如果存在不支持的请 求头域,一般将会作为实体头域处理。

典型的请求消息:

GET http://download.microtool.de:80/somedata.exe
Host: download.microtool.de
Accept:*/*
Pragma: no-cache
Cache-Control: no-cache
Referer: http://download.microtool.de/
User-Agent:Mozilla/4.04[en](Win95;I;Nav)
Range:bytes=554554-

上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL下的文件。棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。

Host头域

Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。

Referer头域

Referer 头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被 追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。

Range头域

Range头域可以请求实体的一个或者多个子范围。例如,

表示头500个字节:bytes=0-499

表示第二个500字节:bytes=500-999

表示最后500个字节:bytes=-500

表示500字节以后的范围:bytes=500-

第一个和最后一个字节:bytes=0-0,-1

同时指定几个范围:bytes=500-600,601-999

但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200 (OK)。

User-Agent头域

User-Agent头域的内容包含发出请求的用户信息。

响应消息

响应消息的第一行为下面的格式:

HTTP-VersionSPStatus-CodeSPReason-PhraseCRLF

HTTP- Version表示支持的HTTP版本,例如为HTTP/1.1。Status- Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自 动识别,Reason-Phrase主要用于帮助用户理解。Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可 能取5个不同的值:

1xx:信息响应类,表示接收到请求并且继续处理

2xx:处理成功响应类,表示动作被成功接收、理解和接受

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

5xx:服务端错误,服务器不能正确执行一个正确的请求

响 应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头 域,一般将会作为实体头域处理。

典型的响应消息:

HTTP/1.0200OK

Date:Mon,31Dec200104:25:57GMT

Server:Apache/1.3.14(Unix)

Content-type:text/html

Last-modified:Tue,17Apr200106:46:28GMT

Etag:”a030f020ac7c01:1e9f”

Content-length:39725426

Content-range:bytes554554-40279979/40279980

上例第一行表示HTTP服务端响应一个GET方法。棕色的部分表示响应头域的信息,绿色的部分表示通用头部分,红色的部分表示实体头域的信息。

Location响应头

Location响应头用于重定向接收者到一个新URI地址。

Server响应头

Server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释,产品标识一般按照重要性排序。

实体

请 求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content- Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。extension-header允许客户端定义新的实体 头,但是这些域可能无法未接受方识别。实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定 义,它的长度由Content-Length或Content-Range定义。

Content-Type实体头

Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型 Content-Range实体头

Content-Range实体头用于指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。在服务器向客户返回一个部分响应,它必须描述响应覆盖的范围和整个实体长度。一般格式:

Content-Range:bytes-unitSPfirst-byte-pos-last-byte-pos/entity-legth

例 如,传送头500个字节次字段的形式:Content-Range:bytes0- 499/1234如果一个http消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),Content-Range表示传送的范围, Content-Length表示实际传送的字节数。

Last-modified实体头

Last-modified实体头指定服务器上保存内容的最后修订时间。

应答头说明
Allow服务器支持哪些请求方法(如GET、POST等)。
Content-Encoding文档的编码(Encode)方法。只有在解码之后才可以得到Content-Type头指定的内容类型。利用gzip压 缩文档能够显著地减少HTML文档的下载时间。Java的GZIPOutputStream可以很方便地进行gzip压缩,但只有Unix上的 Netscape和Windows上的IE 4、IE 5才支持它。因此,Servlet应该通过查看Accept-Encoding头(即request.getHeader(“Accept- Encoding”))检查浏览器是否支持gzip,为支持gzip的浏览器返回经gzip压缩的HTML页面,为其他浏览器返回普通页面。
Content-Length表示内容长度。只有当浏览器使用持久HTTP连接时才需要这个数据。如果你想要利用持久连接的优势,可以把输出文档写入 ByteArrayOutputStram,完成后查看其大小,然后把该值放入Content-Length头,最后通过 byteArrayStream.writeTo(response.getOutputStream()发送内容。
Content-Type表示后面的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentTyep。
Date当前的GMT时间。你可以用setDateHeader来设置这个头以避免转换时间格式的麻烦。
Expires应该在什么时候认为文档已经过期,从而不再缓存它?
Last-Modified文档的最后改动时间。客户可以通过If-Modified-Since请求头提供一个日期,该请求将被视为一个条件 GET,只有改动时间迟于指定时间的文档才会返回,否则返回一个304(Not Modified)状态。Last-Modified也可用setDateHeader方法来设置。
Location表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的sendRedirect方法,该方法同时设置状态代码为302。
Refresh表示浏览器应该在多少时间之后刷新文档,以秒计。除了刷新当前文档之外,你还可以通过setHeader(“Refresh”, “5; URL=http://host/path”)让浏览器读取指定的页面。
注 意这种功能通常是通过设置HTML页面HEAD区的<META HTTP-EQUIV=”Refresh” CONTENT=”5;URL=http://host/path”>实现,这是因为,自动刷新或重定向对于那些不能使用CGI或Servlet的 HTML编写者十分重要。但是,对于Servlet来说,直接设置Refresh头更加方便。注意Refresh的意义是“N秒之后刷 新本页面或访问指定页面”,而不是“每隔N秒刷新本页面或访问指定页面”。因此,连续刷新要求每次都发送一个Refresh头,而发送204状态代码则可 以阻止浏览器继续刷新,不管是使用Refresh头还是<META HTTP-EQUIV=”Refresh” …>。注意Refresh头不属于HTTP 1.1正式规范的一部分,而是一个扩展,但Netscape和IE都支持它。
Server服务器名字。Servlet一般不设置这个值,而是由Web服务器自己设置。
Set-Cookie设置和页面关联的Cookie。Servlet不应使用response.setHeader(“Set-Cookie”, …),而是应使用HttpServletResponse提供的专用方法addCookie。参见下文有关Cookie设置的讨论。
WWW-Authenticate客户应该在Authorization头中提供什么类型的授权信息?在包含401(Unauthorized)状态行的 应答中这个头是必需的。例如,response.setHeader(“WWW-Authenticate”, “BASIC realm=\”executives\”")。
注意Servlet一般不进行这方面的处理,而是让Web服务器的专门机制来控制受密码保护页面的访问(例如.htaccess)。
通过上面的我们发现,这些不都是html标签中meta的http-equiv的属性吗?那么http-equiv还有哪些属性我们可以用呢?
三.meta标签用法介绍
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta标签的常见功能:

1.帮助主页被各大搜索引擎登录;

2.定义页面的使用语言;

3.自动刷新并指向新的页面;

4.实现网页转换时的动画效果;

5.网页定级评价;

6.控制页面缓冲;

7.控制网页显示的窗口。

meta 的属性有两种:name和http-equiv。

name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keyWords(分类关键词),所以应该给每页加一个meta值。

name 属性

1.<meta name=”Generator” contect=”editplus”>用以说明生成工具(如Microsoft FrontPage 4.0)等;

2.<meta name=”KEYWords” contect=”webjx,cnrose”>向搜索引擎说明你的网页的关键词;

3.<meta name=”Description” contect=”webjx’s blog”>告诉搜索引擎你的站点的主要内容;

4.<meta name=”Author” contect=”webjx”>告诉搜索引擎你的站点的制作的作者;

5.<meta name=”Robots” contect=”all|none|index|noindex|follow|nofollow”>

name属性:

设定为all:文件将被检索,且页面上的链接可以被查询;

设定为none:文件将不被检索,且页面上的链接不可以被查询;

设定为index:文件将被检索;

设定为follow:页面上的链接可以被查询;

设定为noindex:文件将不被检索,但页面上的链接可以被查询;

设定为nofollow:文件将不被检索,页面上的链接可以被查询。

meta标签的http-equiv属性语法格式是:<meta http-equiv=”参数” content=”参数变量值”> ;其中http-equiv属性主要有以下几种参数:

1、Expires(期限)

说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

用法:<meta http-equiv=”expires” content=”Wed, 20 Jun 2007 22:33:00 GMT”>

注意:必须使用GMT的时间格式。

2、Pragma(cache模式)

说明:禁止浏览器从本地计算机的缓存中访问页面内容

用法:<meta http-equiv=”Pragma” content=”no-cache”>

注意:这样设定,访问者将无法脱机浏览。

3、Refresh(刷新)

说明:自动刷新并指向新页面。

用法:<meta http-equiv=”Refresh” content=”2;URL=http://www.net.cn/”>

注意:其中的2是指停留2秒钟后自动刷新到URL网址。

4、Set-Cookie(cookie设定)

说明:如果网页过期,那么存盘的cookie将被删除。

用法:<meta http-equiv=”Set-Cookie” content=”cookievalue=xxx; expires=Wednesday, 20-Jun-2007 22:33:00 GMT; path=/”>

注意:必须使用GMT的时间格式。

5、Window-target(显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

用法:<meta http-equiv=”Window-target” content=”_top”>

注意:用来防止别人在框架里调用自己的页面。

6、content-Type(显示字符集的设定)

说明:设定页面使用的字符集。

用法:<meta http-equiv=”content-Type” content=”text/html; charset=gb2312″>

7、Pics-label(网页等级评定)

用法:<meta http-equiv=”Pics-label” contect=”">网页等级评定

说明:在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的。

还有Page_Enter、Page_Exit……

补充:

设定进入页面时的特殊效果<meta    http-equiv=”Page-Enter”    contect=”revealTrans(duration=1.0,transtion=    12)”>
设定离开页面时的特殊效果<meta    http-equiv=”Page-Exit”    contect=”revealTrans(duration=1.0,transtion=    12)”>

Duration的值为网页动态过渡的时间,单位为秒。
Transition是过渡方式,它的值为0到23,分别对应24种过渡方式。如下表:
0    盒状收缩    1    盒状放射
2    圆形收缩    3    圆形放射
4    由下往上    5    由上往下
6    从左至右    7    从右至左
8    垂直百叶窗    9    水平百叶窗
10    水平格状百叶窗    11垂直格状百叶窗
12    随意溶解    13从左右两端向中间展开
14从中间向左右两端展开    15从上下两端向中间展开
16从中间向上下两端展开    17    从右上角向左下角展开
18    从右下角向左上角展开    19    从左上角向右下角展开
20    从左下角向右上角展开    21    水平线状展开
22    垂直线状展开    23    随机产生一种过渡方式

上面的http-equiv这些值我们都可以在header函数中使用,其中有一个属性content-type我们经常看到,那么content-type究竟有那些值呢?

四.Content-Type一览

关于Content-Type的一张表.(方便查找)
Description of Data Content
Typical Filename Extensions
MIME type/subtype
   
Text and Text-Related Types  
HTML text data (RFC 1866)html htmtext/html
Plain text: documents; program listingstxt c c++ pl cc htext/plain
Richtext (obsolete – replaced by text/enriched) text/richtext
Structure enhanced text(etx?)text/x-setext
Enriched text markup (RFC 1896) text/enriched
Tab-separated values (tabular)(tsv?)text/tab-separated-values
SGML documents (RFC 1874) text/sgml
Speech synthesis data (MVP Solutions)talktext/x-speech
   
Document Stylesheet Types  
Cascading Stylesheetscsstext/css
DSSSL-online stylesheets application/dsssl (proposed)
   
Image Types  
GIFgifimage/gif
X-Windows bitmap (b/w)xbmimage/x-xbitmap
X-Windows pixelmap (8-bit color)xpmimage/x-xpixmap
Portable Network Graphicspngimage/x-png
Image Exchange Format (RFC 1314)iefimage/ief
JPEGjpeg jpg jpeimage/jpeg
TIFFtiff tifimage/tiff
RGBrgbimage/rgb
  image/x-rgb
Group III Fax (RFC 1494)g3fimage/g3fax
X Windowdump formatxwdimage/x-xwindowdump
Macintosh PICT formatpictimage/x-pict
PPM (UNIX PPM package)ppmimage/x-portable-pixmap
PGM (UNIX PPM package)pgmimage/x-portable-graymap
PBM (UNIX PPM package)pbmimage/x-portable-bitmap
PNM (UNIX PPM package)pnmimage/x-portable-anymap
Microsoft Windows bitmapbmpimage/x-ms-bmp
CMU rasterrasimage/x-cmu-raster
Kodak Photo-CDpcdimage/x-photo-cd
Computer Graphics Metafilecgmimage/cgm
North Am. Presentation Layer Protocol image/naplps
CALS Type 1 or 2mil calimage/x-cals
Fractal Image Format (Iterated Systems)fifimage/fif
QuickSilver active image (Micrografx)dsfimage/x-mgx-dsf
CMX vector image (Corel)cmximage/x-cmx
Wavelet-compressed (Summus)wiimage/wavelet
AutoCad Drawing (SoftSource)dwgimage/vnd.dwg
  image/x-dwg
AutoCad DXF file (SoftSource)dxfimage/vnd.dxf
  image/x-dxf
Simple Vector Format (SoftSource)svfimage/vnd.svf
  also vector/x-svf
   
Audio/Voice/Music Related Types  
“basic”audio – 8-bit u-law PCMau sndaudio/basic
Macintosh audio format (AIpple)aif aiff aifcaudio/x-aiff
Microsoft audiowavaudio/x-wav
MPEG audiompa abs mpegaaudio/x-mpeg
MPEG-2 audiomp2a mpa2audio/x-mpeg-2
compressed speech (Echo Speech Corp.)esaudio/echospeech
Toolvox speech audio (Voxware)voxaudio/voxware
RapidTransit compressed audio (Fast Man)lccapplication/fastman
Realaudio (Progressive Networks)ra ramapplication/x-pn-realaudio
NIFF music notation data format application/vnd.music-niff
MIDI music datammidx-music/x-midi
Koan music data (SSeyo)skpapplication/vnd.koan
  application/x-koan
Speech synthesis data (MVP Solutions)talktext/x-speech
   
Video Types  
MPEG videompeg mpg mpevideo/mpeg
MPEG-2 videompv2 mp2vvideo/mpeg-2
Macintosh Quicktimeqt movvideo/quicktime
Microsoft videoavivideo/x-msvideo
SGI Movie formatmovievideo/x-sgi-movie
VDOlive streaming video (VDOnet)vdovideo/vdo
Vivo streaming video (Vivo software)vivvideo/vnd.vivo
  video/vivo
Special HTTP/Web Application Types  
Proxy autoconfiguration (Netscape browsers)pacapplication/x-ns-proxy-autoconfig
See Chapter 6 application/x-www-form-urlencoded
See Chapter 9 application/x-www-local-exec
See Chapter 9 (Netscape extension) multipart/x-mixed-replace
See Chapter 9 and Appendix B multipart/form-data
Netscape Cooltalk chat data (Netscape)icex-conference/x-cooltalk
Interactive chat (Ichat) application/x-chat
   
Application Types  
   
Text-Related  
PostScriptai eps psapplication/postscript
Microsoft Rich Text Formatrtfapplication/rtf
Adobe Acrobat PDFpdfapplication/pdf
  application/x-pdf
Maker Interchange Format (FrameMaker)mifapplication/vnd.mif
  application/x-mif
Troff documentt tr roffapplication/x-troff
Troff document with MAN macrosmanapplication/x-troff-man
Troff document with ME macrosmeapplication/x-troff-me
Troff document with MS macrosmsapplication/x-troff-ms
LaTeX documentlatexapplication/x-latex
Tex/LateX documenttexapplication/x-tex
GNU TexInfo documenttexinfo texiapplication/x-texinfo
TeX dvi formatdviapplication/x-dvi
MacWrite document??application/macwriteii
MS word document??application/msword
WordPerfect 5.1 document??application/wordperfect5.1
SGML application (RFC 1874) application/sgml
Office Document Architectureodaapplication/oda
Envoy Documentevyapplication/envoy
Wang Info. Tranfer Format (Wang) application/wita
DEC Document Transfer Format (DEC) application/dec-dx
IBM Document Content Architecture (IBM) application/dca-rft
   
CommonGround Digital Paper (No Hands Software) application/commonground
FrameMaker Documents (Frame)doc fm frm frameapplication/vnd.framemaker
  application/x-framemaker
Remote printing at arbitrary printers (RFC 1486) application/remote-printing
   
Archive/Compressed Archives  
Gnu tar formatgtarapplication/x-gtar
4.3BSD tar formattarapplication/x-tar
POSIX tar formatustarapplication/x-ustar
Old CPIO formatbcpioapplication/x-bcpio
POSIX CPIO formatcpioapplication/x-cpio
UNIX sh shell archivesharapplication/x-shar
DOS/PC – Pkzipped archivezipapplication/zip
Macintosh Binhexed archivehqxapplication/mac-binhex40
Macintosh Stuffit Archivesit seaapplication/x-stuffit
Fractal Image Formatfifapplication/fractals
Binary, UUencodedbin uuapplication/octet-stream
PC executableexeapplication/octet-stream
WAIS “sources”src wsrcapplication/x-wais-source
NCSA HDF data formathdfapplication/hdf
   
Downloadable Program/Scripts  
Javascript programjs ls mochatext/javascript
  application/x-javascript
VBScript program text/vbscript
UNIX bourne shell programshapplication/x-sh
UNIX c-shell programcshapplication/x-csh
Perl programplapplication/x-perl
Tcl (Tool Control Language) programtclapplication/x-tcl
Atomicmail program scripts (obsolete) application/atomicmail
Slate documents – executable enclosures (BBN) application/slate
Undefined binary data (often executable progs) application/octet-stream
RISC OS Executable programs (ANT Limited) application/riscos
   
Animation/Multimedia  
Andrew Toolkit inset application/andrew-inset
FutureSplash vector animation (FutureWave)splapplication/futuresplash
mBED multimedia data (mBED)mbdapplication/mbedlet
Macromedia Shockwave (Macromedia) application/x-director
Sizzler real-time video/animation application/x-sprite
PowerMedia multimedia (RadMedia)radapplication/x-rad-powermedia
   
Presentation   
PowerPoint presentation (Microsoft)ppzapplication/mspowerpoint
PointPlus presentation data (Net Scene)cssapplication/x-pointplus
ASAP WordPower (Software Publishing Corp.)aspapplication/x-asap
Astound Web Player multimedia data (GoldDisk)asnapplication/astound
Special Embedded Object   
OLE script e.g. Visual Basic (Ncompass)axsapplication/x-olescript
OLE Object (Microsoft/NCompass)odsapplication/x-oleobject
OpenScape OLE/OCX objects (Business@Web)oppx-form/x-openscape
Visual Basic objects (Amara)wbaapplication/x-webbasic
Specialized data entry forms (Alpha Software)frmapplication/x-alpha-form
client-server objects (Wayfarer Communications)wfxx-script/x-wfxclient
General Applications  
Undefined binary data (often executable progs) application/octet-stream
CALS (U.S. D.O.D data format – RFC 1895) application/cals-1840
Pointcast news data (Pointcast)pcnapplication/x-pcn
Excel spreadsheet (Microsoft) application/vnd.ms-excel
  application/x-msexcel
  application/ms-excel
PowerPoint (Microsoft)pptapplication/vnd.ms-powerpoint
  application/ms-powerpoint
Microsoft Project (Microsoft) application/vnd.ms-project
Works data (Microsoft) application/vnd.ms-works
MAPI data (Microsoft) application/vnd.ms-tnef
Artgallery data (Microsoft) application/vnd.artgalry
SourceView document (Dataware Electronics)svdapplication/vnd.svd
Truedoc (Bitstream) application/vnd.truedoc
Net Install – software install (20/20 Software)insapplication/x-net-install
Carbon Copy – remote control/access (Microcom)ccvapplication/ccv
Spreadsheets (Visual Components)vtsworkbook/formulaone
Cybercash digital money (Cybercash) application/cybercash
Format for sending generic Macintosh files application/applefile
Active message — connect to active mail app. application/activemessage
X.400 mail message body part (RFC 1494) application/x400-bp
USENET news message id (RFC 1036) application/news-message-id
USENET news message (RFC 1036) application/news-transmission
   
Multipart Types (mostly email)  
Messages with multiple parts multipart/mixed
Messages with multiple, alternative parts multipart/alternative
Message with multiple, related parts multipart/related
Multiple parts are digests multipart/digest
For reporting of email status (admin.) multipart/report
Order of parts does not matter multipart/parallel
Macintosh file data multipart/appledouble
Aggregate messages; descriptor as header multipart/header-set
Container for voice-mail multipart/voice-message
HTML FORM data (see Ch. 9 and App. B) multipart/form-data
Infinite multiparts – See Chapter 9 (Netscape) multipart/x-mixed-replace
   
Message Types (mostly email)  
MIME message message/rfc822
Partial message message/partial
Message containing external references message/external-body
Message containing USENET news message/news
HTTP message message/http
   
2D/3D Data/Virtual Reality Types  
VRML data filewrl vrmlx-world/x-vrml(changing to model/vrml)
WIRL – VRML data (VREAM)vrwx-world/x-vream
Play3D 3d scene data (Play3D)p3dapplication/x-p3d
Viscape Interactive 3d world data (Superscape)svrx-world/x-svr
WebActive 3d data (Plastic Thought)wvrx-world/x-wvr
QuickDraw3D scene data (Apple)3dmfx-world/x-3dmf
   
Scientific/Math/CAD Types  
Chemical types — to communicate information about chemical models chemical/* (several subtypes)
Mathematica notebookmaapplication/mathematica
Computational meshes for numerical simulationsmshx-model/x-mesh(evolving to model/mesh)
Vis5D 5-dimensional datav5dapplication/vis5d
IGES models — CAD/CAM (CGM) dataigsapplication/iges(evolving to model/iges?)
Autocad WHIP vector drawingsdwfdrawing/x-dwf
   
Largely Platform-Specific Types  
Silicon Graphics Specific Types  
Showcase Presentationsshowcase slides sc sho showapplication/x-showcase
Insight Manual pagesins insightapplication/x-insight
Iris Annotator dataanoapplication/x-annotator
Directory Viewerdirapplication/x-dirview
Software Licenselicapplication/x-enterlicense
Fax manager filefaxmgrapplication/x-fax-manager
Fax job data filefaxmgrjobapplication/x-fax-manager-job
IconBook dataicnbkapplication/x-iconbook
?wbapplication/x-inpview
Installable software in ‘inst’ formatinstapplication/x-install
Mail foldermailapplication/x-mailfolder
?pp ppagesapplication/x-ppages
Data for printer (via lpr)sgi-lprapplication/x-sgi-lpr
Software in ‘tardist’ formattardistapplication/x-tardist
Software in compressed ‘tardist’ formatztardistapplication/x-ztardist
WingZ spreadsheetwkzapplication/x-wingz
Open Inventor 3-D scenesivgraphics/x-inventor



转自:http://helion.name/archives/172.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值