﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-自由,开源,分享-文章分类-参考</title><link>http://www.blogjava.net/shisanfeng/category/30582.html</link><description>闻道有先后，术业有专攻，如是而已</description><language>zh-cn</language><lastBuildDate>Thu, 15 May 2008 10:52:27 GMT</lastBuildDate><pubDate>Thu, 15 May 2008 10:52:27 GMT</pubDate><ttl>60</ttl><item><title>正则表达式（Regular Expression）</title><link>http://www.blogjava.net/shisanfeng/articles/191396.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Mon, 07 Apr 2008 15:22:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/191396.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/191396.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/191396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/191396.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/191396.html</trackback:ping><description><![CDATA[<style type="text/css">
var{color:#0000ff}
div.item{font-size: 12px;padding:0px 0px 0px 20px}
div.item table{background-color:#999999}
div.item table tr td{background-color:#ffffff;padding:2px 3px 2px 3px}
div.item table tr.first_tr td,
div.item table tr td.first_td
{background-color:#eeeeee}
</style>
<div class="item"><br />
<strong>Regular Mode &amp; Behavior</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td colspan="3">名称</td>
            <td>英文</td>
            <td>字符/格式</td>
            <td>描述</td>
        </tr>
        <tr>
            <td rowspan="14">简<br />
            单<br />
            模<br />
            式</td>
            <td colspan="2">元字符</td>
            <td>Meta Character</td>
            <td>{　}　[　]　(　)　\　/　^　$　*　+　.　,　?　|　:　=　!　-</td>
            <td>元字符是正则表达式语法的一部分。任何时候要在正则表达式中使用这些元字符，都必须对它们进行转义，即其前加上反斜线。另外，在某些编程语言中，反斜线&#8220;\&#8221;通常用来进行转义操作，那么此时使用元字符时，就要进行双重转义，即先转义反斜线再转义元字符。</td>
        </tr>
        <tr>
            <td colspan="2">特殊字符</td>
            <td>Special Character</td>
            <td>\t　\n　\r　\f　\a　\e　\c<var>X</var>　\B　\V　\0</td>
            <td>通常是一些不可见的格式控制符号，使用时也应该注意双重转义。</td>
        </tr>
        <tr>
            <td rowspan="8">字<br />
            符<br />
            类</td>
            <td>简单类</td>
            <td>Simple Class</td>
            <td>[<var>...</var>]</td>
            <td>指定要包含的字符。</td>
        </tr>
        <tr>
            <td>负向类</td>
            <td>Negation Class</td>
            <td>[^<var>...</var>]</td>
            <td>指定要排除的字符。</td>
        </tr>
        <tr>
            <td>范围类</td>
            <td>Range Class</td>
            <td>[<var>...</var>-<var>...</var>]</td>
            <td>指定要包含的字符有序序列。</td>
        </tr>
        <tr>
            <td>负向范围类</td>
            <td>Negative Range Class</td>
            <td>[^<var>...</var>-<var>...</var>]</td>
            <td>指定要排除的字符有序序列。</td>
        </tr>
        <tr>
            <td>组合类</td>
            <td colspan="2">Combination Class</td>
            <td>由几种字符类组合而成的字符类（内部类之间不能有空格）。组合类中允许出现简单类、负向类、范围类、预定义类。</td>
        </tr>
        <tr>
            <td>联合类</td>
            <td colspan="2">Union Class</td>
            <td></td>
        </tr>
        <tr>
            <td>交叉类</td>
            <td colspan="2">Intersection Class</td>
            <td></td>
        </tr>
        <tr>
            <td>预定义类</td>
            <td>Predefined Class</td>
            <td>.　\d　\D　\s　\S　\w　\W　\x<var>XX</var>　\<var>XXX</var>　\u<var>XXXX</var></td>
            <td>某些反复用到的模式被预先定义，可以方便地指定复杂的模式，也使模式的匹配变得更简单。</td>
        </tr>
        <tr>
            <td rowspan="4">量<br />
            词</td>
            <td>量词</td>
            <td colspan="2">Quantifier</td>
            <td>用于指定某个特定模式出现的次数。当指定某个模式应当出现的次数时，可以指定硬性数量或指定软性数量。量词使用在某个模式的后面，用以限定该模式在字符串中出现的次数。</td>
        </tr>
        <tr>
            <td>贪婪(简单)量词</td>
            <td>Greedy Quantifier</td>
            <td>?　*　+　{<var>n</var>}　{<var>n</var>,<var>m</var>}　{<var>n</var>,}</td>
            <td>先看整个的字符串是不是一个匹配。如果没有发现匹配，它去掉最后字符串中的最后一个字符，并再次尝试。如果还是没有发现匹配，那么再次去掉最后一字符，这个过程会一直重复直到发现一个匹配或者或者字符串不剩任何字符。</td>
        </tr>
        <tr>
            <td>惰性量词</td>
            <td>Inert Quantifier</td>
            <td>??　*?　+?　{<var>n</var>}?　{<var>n</var>,<var>m</var>}?　{<var>n</var>,}?</td>
            <td>先看字符串中第一个字符是不是一个匹配。如果单独这一个字符还不够，就读入下一个字符，组成两个字符的字符串。如果还是没有发现匹配，惰性量词继续从字符串中添加字符直到发现一个匹配或者整个字符串都检查过也没有匹配。当发现一个匹配后，忽略前面已经匹配的字符串，接着从字符串的下一个字符开始进行新的匹配检查。惰性量词和贪婪量词的工作方式恰好相反。</td>
        </tr>
        <tr>
            <td>支配性量词</td>
            <td>Dominant Quantifier</td>
            <td>?+　*+　++　{<var>n</var>}+　{<var>n</var>,<var>m</var>}+　{<var>n</var>,}+</td>
            <td>尝试匹配整个字符串。如果整个字符串不能产生匹配，不做进一步尝试。</td>
        </tr>
        <tr>
            <td rowspan="10">复<br />
            杂<br />
            模<br />
            式</td>
            <td rowspan="3">分<br />
            组</td>
            <td>(捕获性)分组</td>
            <td>Capture Group</td>
            <td>(<var>...</var>)</td>
            <td>通过一系列圆括号包围一系列字符、字符类以及量词来使用。它可以处理特定的字符或字符序列的重复问题。通过混合使用字符、字符类和量词，可以实现一些相当复杂的分组，同时也不介意将分组放在分组间。</td>
        </tr>
        <tr>
            <td>反向引用</td>
            <td colspan="2">Back-Reference</td>
            <td>每个捕获性分组在使用后都被存放在一个特殊的地方以备将来使用，这些存储在分组中的特殊值，叫做&#8220;反向引用&#8221;。反向引用是按照从左到右遇到的左圆括号字符的顺序进行创建和编号的。在正则表达式中，反向引用可以从构造函数、转义 \<var>n</var>、$<var>n</var> 等形式中获取。</td>
        </tr>
        <tr>
            <td>非捕获性分组</td>
            <td>No-Capture Group</td>
            <td>(?:<var>...</var>)</td>
            <td>只有捕获性分组才能创建反向引用，非捕获性分组无法创建。在较长的正则表达式中，存储反向引用会降低匹配速度。通过使用非捕获性分组，仍然可以拥有与匹配字符串序列同样的能力，而无需存储结果的开销。非捕获性分组不能使用任何形式的反向引用。</td>
        </tr>
        <tr>
            <td colspan="2">候选</td>
            <td>Candidate</td>
            <td><var>...</var>|<var>...</var></td>
            <td>候选项可以是任意多个，在两两模式之间加上竖线，用于匹配可能的模式。</td>
        </tr>
        <tr>
            <td rowspan="3">前<br />
            瞻</td>
            <td>前瞻</td>
            <td colspan="2">Look-Ahead</td>
            <td>它告诉正则表达式运算器向前看一些字符而不移动其位置。前瞻会使用到圆括号，但这不是分组，分组是不会考虑前瞻的存在（无论是正向还是负向）。若在分组中使用前瞻，无论是正向还是负向，都可以使用分组的反向引用，但该反向引用中并不包含前瞻模式串。</td>
        </tr>
        <tr>
            <td>正向前瞻</td>
            <td>Forward Look-Ahead</td>
            <td>(?=<var>...</var>)</td>
            <td>检查的是接下来出现的是不是某个允许的特定字符集。</td>
        </tr>
        <tr>
            <td>负向前瞻</td>
            <td>Negation Look-Ahead</td>
            <td>(?!<var>...</var>)</td>
            <td>检查的是接下来出现的是不是不应该出现的特定字符集。</td>
        </tr>
        <tr>
            <td colspan="2">后瞻</td>
            <td colspan="2">Look-Behind</td>
            <td>匹配 <var>b</var> 当且仅当它前面没有 <var>a</var>。</td>
        </tr>
        <tr>
            <td colspan="2">边界</td>
            <td>Boundary</td>
            <td>^　$　\b　\B</td>
            <td>用于正则表达式中以表示模式的位置。</td>
        </tr>
        <tr>
            <td colspan="2">多行模式</td>
            <td>Multiline</td>
            <td><var>m</var>　（设置多行模式为 True）</td>
            <td>只要在正则表达式中设置多行模式为 True 即可。它会让 $ 边界匹配换行符 \n 以及字符串真正的结尾。多行模式会让 ^ 边界匹配换行符之后的位置。</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Classic Regular Application</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td></td>
            <td>名称</td>
            <td>变量</td>
            <td>正则表达式</td>
        </tr>
        <tr>
            <td class="first_td" rowspan="16">基<br />
            础<br />
            模<br />
            式</td>
            <td>英文字母</td>
            <td>Character</td>
            <td>^[A-Za-z]+$</td>
        </tr>
        <tr>
            <td>英文大写字母</td>
            <td>Lower-Char</td>
            <td>^[A-Z]+$</td>
        </tr>
        <tr>
            <td>英文小写字母</td>
            <td>Upper-Char</td>
            <td>^[a-z]+$</td>
        </tr>
        <tr>
            <td>字母和数字</td>
            <td>Char-Int</td>
            <td>^[A-Za-z0-9]+$</td>
        </tr>
        <tr>
            <td>整数</td>
            <td>Integer</td>
            <td>^-?\d+$</td>
        </tr>
        <tr>
            <td>正整数</td>
            <td>SL-Int</td>
            <td>^[0-9]*[1-9][0-9]*$</td>
        </tr>
        <tr>
            <td>非正整数</td>
            <td>NOT-SL-Int</td>
            <td>^((-\d+)|(0+))$</td>
        </tr>
        <tr>
            <td>负整数</td>
            <td>NT-Int</td>
            <td>^-[0-9]*[1-9][0-9]*$</td>
        </tr>
        <tr>
            <td>非负整数</td>
            <td>NOT-NT-Int</td>
            <td>^\d+$</td>
        </tr>
        <tr>
            <td>浮点数</td>
            <td>Float-Num</td>
            <td>^(-?\d+)(\.\d+)?$</td>
        </tr>
        <tr>
            <td>正浮点数</td>
            <td>SL-Float</td>
            <td>^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$</td>
        </tr>
        <tr>
            <td>非正浮点数</td>
            <td>NOT-SL-Float</td>
            <td>^((-\d+(\.\d+)?)|(0+(\.0+)?))$</td>
        </tr>
        <tr>
            <td>负浮点数</td>
            <td>NT-Float</td>
            <td>^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$</td>
        </tr>
        <tr>
            <td>非负浮点数</td>
            <td>NOT-NT-Float</td>
            <td>^\d+(\.\d+)?$</td>
        </tr>
        <tr>
            <td>双字节字符(包括中文)</td>
            <td>D-Byte-Char</td>
            <td>[^\x00-\xff]</td>
        </tr>
        <tr>
            <td>空行</td>
            <td>Blank-Line</td>
            <td>\n\s*\r</td>
        </tr>
        <tr>
            <td class="first_td" rowspan="13">实<br />
            际<br />
            应<br />
            用</td>
            <td>电子邮件</td>
            <td>E-mail</td>
            <td>^([a-z0-9])(([\-.]|[_]+)?([a-z0-9]+))*(@)([a-z0-9])((([-]+)?([a-z0-9]+))?)*((.[a-z]{2,3})?(.[a-z]{2,6}))$</td>
        </tr>
        <tr>
            <td>网址</td>
            <td>URL</td>
            <td>^((https|http|ftp|rtsp|mms)://)(([0-9a-z_!~*&#8217;().&amp;=+$%-]+: )?[0-9a-z_!~*&#8217;().&amp;=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!~*&#8217;()-]+\.)*([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((/?)|(/[0-9a-z_!~*&#8217;().;?:@&amp;=+$,%#-]+)+/?)$</td>
        </tr>
        <tr>
            <td>IP 地址</td>
            <td>IP</td>
            <td>^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$</td>
        </tr>
        <tr>
            <td>身份证</td>
            <td>ID-Card</td>
            <td>^\d{15}|\d{18}$</td>
        </tr>
        <tr>
            <td>电话号码</td>
            <td>Phone</td>
            <td>^\d+$</td>
        </tr>
        <tr>
            <td>邮政编码</td>
            <td>Zip-Code</td>
            <td>^[1-9]\d{5}(?!\d)$</td>
        </tr>
        <tr>
            <td>金额</td>
            <td>Money</td>
            <td>^\d+\.\d{2}$</td>
        </tr>
        <tr>
            <td>帐号</td>
            <td>Account</td>
            <td>^\w{6,15}$</td>
        </tr>
        <tr>
            <td>密码</td>
            <td>Password</td>
            <td>^\w{6,15}$</td>
        </tr>
        <tr>
            <td>中文</td>
            <td>Chinese</td>
            <td>[\u4e00-\u9fa5]</td>
        </tr>
        <tr>
            <td>日期(yyyy-mm-dd)</td>
            <td>Date</td>
            <td>^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$</td>
        </tr>
        <tr>
            <td>日期时间(yyyy-mm-dd hh:mm:ss)</td>
            <td>DateTime</td>
            <td>^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Conception &amp; History</strong><br />
<table cellspacing="1">
    <tbody>
        <tr>
            <td class="first_td" rowspan="2">概<br />
            念</td>
            <td>正则表达式 Regular Expression（regexp，regex，regxp），正规表达式，正规表示式，常规表达式，&#8220;模式&#8221;。</td>
        </tr>
        <tr>
            <td>正则表达式是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。</td>
        </tr>
        <tr>
            <td class="first_td" rowspan="6">历<br />
            史</td>
            <td>最初的正则表达式出现于理论计算机科学的自动控制理论和形式语言理论中。</td>
        </tr>
        <tr>
            <td>在这些领域中有对计算（自动控制）的模型和对形式语言描述与分类的研究。</td>
        </tr>
        <tr>
            <td>1940 年代，Warren McCulloch 与 Walter Pitts 将神经系统中的神经元描述成小而简单的自动控制元。</td>
        </tr>
        <tr>
            <td>稍后，数学家 Stephen Kleene 利用称之为正则集合的数学符号来描述此模型。</td>
        </tr>
        <tr>
            <td>Ken Thompson 将此符号系统引入编辑器 QED，然后是 Unix 上的编辑器 ed，并最终引入 grep。</td>
        </tr>
        <tr>
            <td>自此，正则表达式被广泛地使用于各种 Unix 或者类似 Unix 的工具，例如 Perl。</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Quantifier</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>贪婪(简单)量词</td>
            <td>惰性量词</td>
            <td>支配性量词</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>?</td>
            <td>??</td>
            <td>?+</td>
            <td>零次或一次出现</td>
        </tr>
        <tr>
            <td>*</td>
            <td>*?</td>
            <td>*+</td>
            <td>零次或多次出现</td>
        </tr>
        <tr>
            <td>+</td>
            <td>+?</td>
            <td>++</td>
            <td>一次或多次出现</td>
        </tr>
        <tr>
            <td>{<var>n</var>}</td>
            <td>{<var>n</var>}?</td>
            <td>{<var>n</var>}+</td>
            <td>恰好 <var>n</var> 次出现</td>
        </tr>
        <tr>
            <td>{<var>n</var>,<var>m</var>}</td>
            <td>{<var>n</var>,<var>m</var>}?</td>
            <td>{<var>n</var>,<var>m</var>}+</td>
            <td>至少 <var>n</var> 次至多 <var>m</var> 次出现</td>
        </tr>
        <tr>
            <td>{<var>n</var>,}</td>
            <td>{<var>n</var>,}?</td>
            <td>{<var>n</var>,}+</td>
            <td>至少 <var>n</var> 次出现</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Meta Character</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>字符</td>
            <td>描述</td>
            <td>字符</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>{}</td>
            <td>花括号</td>
            <td>-</td>
            <td>减号</td>
        </tr>
        <tr>
            <td>[]</td>
            <td>方括号</td>
            <td>.</td>
            <td>点号</td>
        </tr>
        <tr>
            <td>()</td>
            <td>圆括号</td>
            <td>,</td>
            <td>逗号</td>
        </tr>
        <tr>
            <td>\</td>
            <td>反斜线</td>
            <td>?</td>
            <td>问号</td>
        </tr>
        <tr>
            <td>/</td>
            <td>正斜线</td>
            <td>|</td>
            <td>竖线</td>
        </tr>
        <tr>
            <td>^</td>
            <td>箭头符号</td>
            <td>:</td>
            <td>冒号</td>
        </tr>
        <tr>
            <td>$</td>
            <td>美圆符号</td>
            <td>=</td>
            <td>等号</td>
        </tr>
        <tr>
            <td>*</td>
            <td>星号</td>
            <td>!</td>
            <td>感叹号</td>
        </tr>
        <tr>
            <td>+</td>
            <td>加号</td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
<br />
<strong>Boundary</strong><br />
<br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>字符</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>^</td>
            <td>行开头</td>
        </tr>
        <tr>
            <td>$</td>
            <td>行结尾</td>
        </tr>
        <tr>
            <td>\b</td>
            <td>单词的边界</td>
        </tr>
        <tr>
            <td>\B</td>
            <td>非单词的边界</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Predefined Class</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>代码</td>
            <td>等同于</td>
            <td>匹配</td>
        </tr>
        <tr>
            <td>.</td>
            <td>[^\n\r]</td>
            <td>除了换行和回车之外的任意字符</td>
        </tr>
        <tr>
            <td>\d</td>
            <td>[0-9]</td>
            <td>数字字符</td>
        </tr>
        <tr>
            <td>\D</td>
            <td>[^0-9]</td>
            <td>非数字字符</td>
        </tr>
        <tr>
            <td>\s</td>
            <td>[ \t\n\x0B\f\r]</td>
            <td>空白字符</td>
        </tr>
        <tr>
            <td>\S</td>
            <td>[^ \t\n\x0B\f\r]</td>
            <td>非空白字符</td>
        </tr>
        <tr>
            <td>\w</td>
            <td>[a-zA-Z_0-9]</td>
            <td>单词字符（所有字母、数字和下划线）</td>
        </tr>
        <tr>
            <td>\W</td>
            <td>[^a-zA-Z_0-9]</td>
            <td>非单词字符</td>
        </tr>
        <tr>
            <td colspan="2">\x<var>XX</var></td>
            <td>十六进制 ASCII 码字符</td>
        </tr>
        <tr>
            <td colspan="2">\<var>XXX</var></td>
            <td>八进制 ASCII 码字符</td>
        </tr>
        <tr>
            <td colspan="2">\u<var>XXXX</var></td>
            <td>十六进制 Unicode 码字符</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Special Character</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>字符</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>\t</td>
            <td>制表符</td>
        </tr>
        <tr>
            <td>\n</td>
            <td>换行符</td>
        </tr>
        <tr>
            <td>\r</td>
            <td>回车符</td>
        </tr>
        <tr>
            <td>\f</td>
            <td>换页符</td>
        </tr>
        <tr>
            <td>\a</td>
            <td>alert 字符</td>
        </tr>
        <tr>
            <td>\e</td>
            <td>escape 字符</td>
        </tr>
        <tr>
            <td>\c<var>X</var></td>
            <td>与 <var>X</var> 相对应的控制字符</td>
        </tr>
        <tr>
            <td>\b</td>
            <td>回退字符</td>
        </tr>
        <tr>
            <td>\v</td>
            <td>垂直制表符</td>
        </tr>
        <tr>
            <td>\0</td>
            <td>空字符</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Regular Precedence Level</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>字符</td>
            <td>描述</td>
            <td>优先级</td>
        </tr>
        <tr>
            <td>\</td>
            <td>转义</td>
            <td>1</td>
        </tr>
        <tr>
            <td>()　(?:)　(?=)　[]</td>
            <td>分组</td>
            <td>2</td>
        </tr>
        <tr>
            <td>*　+　?　{<var>n</var>}　{<var>n</var>,<var>m</var>}　{<var>n</var>,}</td>
            <td>量词</td>
            <td>3</td>
        </tr>
        <tr>
            <td>^　$　\<var>anymetacharacter</var></td>
            <td>位置和顺序</td>
            <td>4</td>
        </tr>
        <tr>
            <td>|</td>
            <td>候选</td>
            <td>5</td>
        </tr>
        <tr>
            <td colspan="3">注：从左至右求值。</td>
        </tr>
    </tbody>
</table>
<br />
</div>
<img src ="http://www.blogjava.net/shisanfeng/aggbug/191396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-07 23:22 <a href="http://www.blogjava.net/shisanfeng/articles/191396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 语法汇总</title><link>http://www.blogjava.net/shisanfeng/articles/191335.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Mon, 07 Apr 2008 10:54:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/191335.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/191335.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/191335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/191335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/191335.html</trackback:ping><description><![CDATA[<style type="text/css">
var{color:#0000ff}
div.item{font-size: 12px;padding:0px 0px 0px 20px}
div.item table{background-color:#999999}
div.item table tr td{background-color:#ffffff;padding:2px 3px 2px 3px}
div.item table tr.first_tr td,
div.item table tr td.first_td
{background-color:#eeeeee}
</style>
<div class="item"><br />
<strong>Keyword, Qualifier, Data Type, Operator, Operator Precedence Level &amp; Associativity, Special Character, Separator</strong><br />
<br />
<strong>Keyword</strong><br />
<table cellspacing="1">
    <tbody>
        <tr>
            <td>abstract</td>
            <td colspan="6"></td>
        </tr>
        <tr>
            <td>boolean</td>
            <td>break</td>
            <td>byte</td>
            <td>byvalue <var>*</var></td>
            <td colspan="3"></td>
        </tr>
        <tr>
            <td>case</td>
            <td>cast</td>
            <td>catch</td>
            <td>char</td>
            <td>class</td>
            <td>const <var>*</var></td>
            <td>continue</td>
        </tr>
        <tr>
            <td>default</td>
            <td>do</td>
            <td>double</td>
            <td colspan="4"></td>
        </tr>
        <tr>
            <td>else</td>
            <td>extends</td>
            <td colspan="5"></td>
        </tr>
        <tr>
            <td>false</td>
            <td>final</td>
            <td>finally</td>
            <td>float</td>
            <td>for</td>
            <td>future</td>
            <td></td>
        </tr>
        <tr>
            <td>generic</td>
            <td>goto <var>*</var></td>
            <td colspan="5"></td>
        </tr>
        <tr>
            <td>if</td>
            <td>implements</td>
            <td>import</td>
            <td>inner</td>
            <td>instanceof</td>
            <td>int</td>
            <td>interface</td>
        </tr>
        <tr>
            <td>long</td>
            <td colspan="6"></td>
        </tr>
        <tr>
            <td>native</td>
            <td>new</td>
            <td>null</td>
            <td colspan="4"></td>
        </tr>
        <tr>
            <td>operator</td>
            <td>outer</td>
            <td colspan="5"></td>
        </tr>
        <tr>
            <td>package</td>
            <td>private</td>
            <td>protected</td>
            <td>public</td>
            <td colspan="3"></td>
        </tr>
        <tr>
            <td>rest</td>
            <td>return</td>
            <td colspan="5"></td>
        </tr>
        <tr>
            <td>short</td>
            <td>static</td>
            <td>super</td>
            <td>switch</td>
            <td>synchronized</td>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td>this</td>
            <td>throw</td>
            <td>throws</td>
            <td>transient</td>
            <td>true</td>
            <td>try</td>
            <td></td>
        </tr>
        <tr>
            <td>var</td>
            <td>void</td>
            <td>volatile</td>
            <td colspan="4"></td>
        </tr>
        <tr>
            <td>while</td>
            <td colspan="6"></td>
        </tr>
        <tr>
            <td colspan="7">注：有 <var>*</var> 标记的关键字是被保留但当前尚未使用的。</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Qualifier</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td></td>
            <td colspan="4">访问权限修饰符</td>
            <td colspan="4">非访问权限修饰符</td>
        </tr>
        <tr>
            <td class="first_td">类</td>
            <td>缺省(friendly)</td>
            <td>public</td>
            <td colspan="2"></td>
            <td>final</td>
            <td>abstract</td>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td class="first_td">数据成员</td>
            <td>缺省(friendly)</td>
            <td>public</td>
            <td>private</td>
            <td>protected</td>
            <td>static</td>
            <td>final</td>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td class="first_td">成员方法</td>
            <td>缺省(friendly)</td>
            <td>public</td>
            <td>private</td>
            <td>protected</td>
            <td>static</td>
            <td>final</td>
            <td>native</td>
            <td>abstract</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Data Type</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td colspan="4">名称</td>
            <td>关键字</td>
            <td>字节数</td>
            <td>取值范围</td>
        </tr>
        <tr>
            <td rowspan="12">数<br />
            据<br />
            类<br />
            型</td>
            <td rowspan="8">基<br />
            本<br />
            类<br />
            型</td>
            <td rowspan="4">整<br />
            数<br />
            类<br />
            型</td>
            <td>字节型</td>
            <td>byte</td>
            <td>1</td>
            <td>-128 ~ 127 </td>
        </tr>
        <tr>
            <td>短整型</td>
            <td>short</td>
            <td>2</td>
            <td>-32768 ~ 32767 </td>
        </tr>
        <tr>
            <td>整型</td>
            <td>int</td>
            <td>4</td>
            <td>-2147483648 ~ 2147483647 </td>
        </tr>
        <tr>
            <td>长整型</td>
            <td>long</td>
            <td>8</td>
            <td>-9223372036854775808 ~ 9223372036854775807 </td>
        </tr>
        <tr>
            <td rowspan="2">浮<br />
            点<br />
            类<br />
            型</td>
            <td>浮点型</td>
            <td>float</td>
            <td>4</td>
            <td>-3.40282347E+38F ~ 3.40282347E+38F</td>
        </tr>
        <tr>
            <td>双精度型</td>
            <td>double</td>
            <td>8</td>
            <td>-1.7976931348623157E+308 ~ 1.7976931348623157E+308 </td>
        </tr>
        <tr>
            <td colspan="2">字符类型</td>
            <td>char</td>
            <td>2</td>
            <td>Unicode 字符集</td>
        </tr>
        <tr>
            <td colspan="2">布尔类型</td>
            <td>boolean</td>
            <td>1</td>
            <td>true 或 false </td>
        </tr>
        <tr>
            <td rowspan="4">复<br />
            合<br />
            类<br />
            型</td>
            <td colspan="2">字符串</td>
            <td>string</td>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td colspan="2">数组</td>
            <td colspan="3"></td>
        </tr>
        <tr>
            <td colspan="2">类</td>
            <td>class</td>
            <td colspan="2"></td>
        </tr>
        <tr>
            <td colspan="2">接口</td>
            <td>interface</td>
            <td colspan="2"></td>
        </tr>
    </tbody>
</table>
<br />
<strong>Operator</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td colspan="2">算术运算符</td>
            <td colspan="2">(复合)赋值运算符</td>
            <td colspan="2">关系运算符</td>
            <td colspan="2">逻辑运算符</td>
            <td colspan="2">位运算符</td>
            <td colspan="2">其他运算符</td>
        </tr>
        <tr>
            <td>加法</td>
            <td>+</td>
            <td>赋值</td>
            <td>=</td>
            <td>等于</td>
            <td>==</td>
            <td>与</td>
            <td>&amp;</td>
            <td>位反</td>
            <td>~</td>
            <td>条件运算</td>
            <td>?:</td>
        </tr>
        <tr>
            <td>减法</td>
            <td>-</td>
            <td>加赋值</td>
            <td>+=</td>
            <td>不等于</td>
            <td>!=</td>
            <td>或</td>
            <td>|</td>
            <td>位与</td>
            <td>&amp;</td>
            <td>域(点)运算</td>
            <td>.</td>
        </tr>
        <tr>
            <td>乘法</td>
            <td>*</td>
            <td>减赋值</td>
            <td>-=</td>
            <td>大于</td>
            <td>&gt;</td>
            <td>非</td>
            <td>!</td>
            <td>位或</td>
            <td>|</td>
            <td>数组下标</td>
            <td>[]</td>
        </tr>
        <tr>
            <td>除法</td>
            <td>/</td>
            <td>乘赋值</td>
            <td>*=</td>
            <td>小于</td>
            <td>&lt;</td>
            <td>异或</td>
            <td>^</td>
            <td>位异或</td>
            <td>^</td>
            <td>分组括号</td>
            <td>()</td>
        </tr>
        <tr>
            <td>取余</td>
            <td>%</td>
            <td>除赋值</td>
            <td>/=</td>
            <td>大于等于</td>
            <td>&gt;=</td>
            <td>逻辑与</td>
            <td>&amp;&amp;</td>
            <td>左移</td>
            <td>&lt;&lt;</td>
            <td>分配空间</td>
            <td>new</td>
        </tr>
        <tr>
            <td>自增1</td>
            <td>++</td>
            <td>取余赋值</td>
            <td>%=</td>
            <td>小于等于</td>
            <td>&lt;=</td>
            <td>逻辑或</td>
            <td>||</td>
            <td>右移</td>
            <td>&gt;&gt;</td>
            <td>强制类型转换</td>
            <td>(type)</td>
        </tr>
        <tr>
            <td>自减1</td>
            <td>--</td>
            <td>(位)异或赋值</td>
            <td>^=</td>
            <td colspan="2" rowspan="6"></td>
            <td>不带符号右移</td>
            <td>&gt;&gt;&gt;</td>
            <td>类判断</td>
            <td>instanceof</td>
            <td colspan="2" rowspan="6"></td>
        </tr>
        <tr>
            <td>取反</td>
            <td>-</td>
            <td>(位)与赋值</td>
            <td>&amp;=</td>
            <td colspan="2" rowspan="5"></td>
            <td colspan="2" rowspan="5"></td>
        </tr>
        <tr>
            <td colspan="2" rowspan="4"></td>
            <td>(位)或赋值</td>
            <td>|=</td>
        </tr>
        <tr>
            <td>左移赋值</td>
            <td>&lt;&lt;=</td>
        </tr>
        <tr>
            <td>右移赋值</td>
            <td>&gt;&gt;=</td>
        </tr>
        <tr>
            <td>不带符号右移赋值</td>
            <td>&gt;&gt;&gt;=</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Operator Precedence Level &amp; Associativity</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>运算符</td>
            <td>描述</td>
            <td colspan="2">优先级</td>
            <td>结合性</td>
        </tr>
        <tr>
            <td>.　[]　()</td>
            <td>域运算，数组下标，分组括号</td>
            <td>1</td>
            <td>最高</td>
            <td>自左向右</td>
        </tr>
        <tr>
            <td>++　--　-　!　~</td>
            <td>单目运算</td>
            <td>2</td>
            <td rowspan="2">单目</td>
            <td>右/左</td>
        </tr>
        <tr>
            <td>new　(type)</td>
            <td>分配空间，强制类型转换</td>
            <td>3</td>
            <td>自右向左</td>
        </tr>
        <tr>
            <td>*　/　%</td>
            <td>算术乘、除、取余运算</td>
            <td>4</td>
            <td rowspan="9">双目</td>
            <td rowspan="9">自左向右<br />
            (左结合性)</td>
        </tr>
        <tr>
            <td>+　-</td>
            <td>算术加减运算</td>
            <td>5</td>
        </tr>
        <tr>
            <td>&lt;&lt;　&gt;&gt;　&gt;&gt;&gt;</td>
            <td>位运算</td>
            <td>6</td>
        </tr>
        <tr>
            <td>&lt;　&lt;=　&gt;　&gt;=</td>
            <td>小于，小于等于，大于，大于等于</td>
            <td>7</td>
        </tr>
        <tr>
            <td>==　!=</td>
            <td>等于，不等于</td>
            <td>8</td>
        </tr>
        <tr>
            <td>&amp;</td>
            <td>(位)与</td>
            <td>9</td>
        </tr>
        <tr>
            <td>^</td>
            <td>(位)异或</td>
            <td>10</td>
        </tr>
        <tr>
            <td>|</td>
            <td>(位)或</td>
            <td>11</td>
        </tr>
        <tr>
            <td>&amp;&amp;</td>
            <td>逻辑与</td>
            <td>12</td>
        </tr>
        <tr>
            <td>||</td>
            <td>逻辑或</td>
            <td>13</td>
            <td>三目</td>
            <td rowspan="3">自右向左<br />
            (右结合性)</td>
        </tr>
        <tr>
            <td>?:</td>
            <td>条件运算符</td>
            <td>14</td>
            <td rowspan="2">最低</td>
        </tr>
        <tr>
            <td>=　+=　-=　*=　/=　%=　&lt;&lt;=　&gt;&gt;=　&gt;&gt;&gt;=　&amp;=　^=　|=</td>
            <td>赋值运算</td>
            <td>15</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Special Character</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>引用方法</td>
            <td>Unicode 码</td>
            <td>标准表示法</td>
            <td>意义</td>
        </tr>
        <tr>
            <td>'\b'</td>
            <td>'\u0008'</td>
            <td>BS</td>
            <td>退格</td>
        </tr>
        <tr>
            <td>'\t'</td>
            <td>'\u0009'</td>
            <td>HT</td>
            <td>水平制表符 Tab</td>
        </tr>
        <tr>
            <td>'\n'</td>
            <td>'\u000a'</td>
            <td>LF</td>
            <td>换行</td>
        </tr>
        <tr>
            <td>'\f'</td>
            <td>'\u000c'</td>
            <td>FF</td>
            <td>表格符</td>
        </tr>
        <tr>
            <td>'\r'</td>
            <td>'\u000d'</td>
            <td>CR</td>
            <td>回车</td>
        </tr>
        <tr>
            <td>'\"'</td>
            <td>'\u0022'</td>
            <td>"</td>
            <td>双引号</td>
        </tr>
        <tr>
            <td>'\''</td>
            <td>'\u0027'</td>
            <td>0'</td>
            <td>单引号</td>
        </tr>
        <tr>
            <td>'\\'</td>
            <td>'\u005c'</td>
            <td>\</td>
            <td>反斜线</td>
        </tr>
        <tr>
            <td colspan="4">注：Windows 换行符是 <var>\r\n</var>，Linux 换行符是 <var>\n</var>。</td>
        </tr>
    </tbody>
</table>
<br />
<strong>Separator</strong><br />
<table cellspacing="1">
    <tbody>
        <tr class="first_tr">
            <td>字符</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>{}</td>
            <td>花括号</td>
        </tr>
        <tr>
            <td>[]</td>
            <td>方括号</td>
        </tr>
        <tr>
            <td>()</td>
            <td>圆括号</td>
        </tr>
        <tr>
            <td>;</td>
            <td>分号</td>
        </tr>
        <tr>
            <td>;</td>
            <td>逗号</td>
        </tr>
        <tr>
            <td></td>
            <td>空格</td>
        </tr>
    </tbody>
</table>
<br />
</div>
<img src ="http://www.blogjava.net/shisanfeng/aggbug/191335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-07 18:54 <a href="http://www.blogjava.net/shisanfeng/articles/191335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTP 1.1 状态码</title><link>http://www.blogjava.net/shisanfeng/articles/190567.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Thu, 03 Apr 2008 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/190567.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/190567.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/190567.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/190567.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/190567.html</trackback:ping><description><![CDATA[<style type="text/css">
div.item *{margin:0px;padding:0px;border:0px;cursor:default;font-family:Georgia;color:#000000;font-size:12px;text-decoration:none}
div.item table{background-color:#999999}
div.item table tr td{padding:2px}
div.item table thead tr{background-color:#cccccc}
div.item table tbody tr{background-color:#ffffff}
div.item table tbody tr.classLine{background-color:#eeeeee}
div.item table tbody tr.classLine td{color:#0000ff}
</style>
<div class="item"><br />
<table cellspacing="1">
    <thead>
        <tr>
            <td width="9%"><strong>状态代码</strong></td>
            <td width="22%"><strong>状态信息</strong></td>
            <td width="13%"><strong>信息说明</strong></td>
            <td width="56%"><strong>含义</strong></td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td colspan="4">100-199　用于指定客户端应相应的某些动作</td>
        </tr>
        <tr>
            <td colspan="4">200-299　用于表示请求成功</td>
        </tr>
        <tr>
            <td colspan="4">300-399　用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息</td>
        </tr>
        <tr>
            <td colspan="4">400-499　用于指出客户端的错误</td>
        </tr>
        <tr>
            <td colspan="4">500-599　用于支持服务器错误</td>
        </tr>
        <tr class="classLine">
            <td>-1xx</td>
            <td>Informational</td>
            <td>信息</td>
            <td>这些状态代码表示临时的响应。客户端在收到常规响应之前，应准备接收一个或多个 1xx 响应。</td>
        </tr>
        <tr>
            <td>100</td>
            <td>Continue</td>
            <td>继续</td>
            <td>初始的请求已经接受，客户应当继续发送请求的其余部分。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>101</td>
            <td>Switching Protocols</td>
            <td>转换协议</td>
            <td>服务器将遵从客户的请求转换到另外一种协议。（HTTP 1.1 新）</td>
        </tr>
        <tr class="classLine">
            <td>-2xx</td>
            <td>Successful</td>
            <td>成功</td>
            <td>这类状态代码表明服务器成功地接受了客户端请求。</td>
        </tr>
        <tr>
            <td>200</td>
            <td>OK</td>
            <td>正常</td>
            <td>一切正常，对 GET 和 POST 请求的应答文档跟在后面。</td>
        </tr>
        <tr>
            <td>201</td>
            <td>Created</td>
            <td>创建</td>
            <td>服务器已经创建了文档，Location 头给出了它的 URL。</td>
        </tr>
        <tr>
            <td>202</td>
            <td>Accepted</td>
            <td>接受</td>
            <td>已经接受请求，但处理尚未完成。</td>
        </tr>
        <tr>
            <td>203</td>
            <td>Non-Authoritative Information</td>
            <td>非权威信息</td>
            <td>文档已经正常地返回，但一些应答头可能不正确，因为使用的是文档的拷贝。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>204</td>
            <td>No Content</td>
            <td>无内容</td>
            <td>没有新文档，浏览器应该继续显示原来的文档。如果用户定期地刷新页面，而 Servlet 可以确定用户文档足够新，这个状态代码是很有用的。</td>
        </tr>
        <tr>
            <td>205</td>
            <td>Reset Content</td>
            <td>重置内容</td>
            <td>没有新的内容，但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>206</td>
            <td>Partial Content</td>
            <td>局部内容</td>
            <td>客户发送了一个带有 Range 头的 GET 请求，服务器完成了它。（HTTP 1.1 新）</td>
        </tr>
        <tr class="classLine">
            <td>-3xx</td>
            <td>Redirection</td>
            <td>重定向</td>
            <td>客户端浏览器必须采取更多操作来实现请求。例如，浏览器可能不得不请求服务器上的不同的页面，或通过代理服务器重复该请求。</td>
        </tr>
        <tr>
            <td>300</td>
            <td>Multiple Choices</td>
            <td>多样选择</td>
            <td>客户请求的文档可以在多个位置找到，这些位置已经在返回的文档内列出。如果服务器要提出优先选择，则应该在 Location 应答头指明。</td>
        </tr>
        <tr>
            <td>301</td>
            <td>Moved Permanently</td>
            <td>永久移动</td>
            <td>客户请求的文档在其他地方，新的 URL 在 Location 头中给出，浏览器应该自动地访问新的 URL。</td>
        </tr>
        <tr>
            <td>302</td>
            <td>Found</td>
            <td>找到（临时移动）</td>
            <td>类似于 301，但新的 URL 应该被视为临时性的替代，而不是永久性的。注意，在 HTTP 1.0 中对应的状态信息是 Moved Temporatily。</td>
        </tr>
        <tr>
            <td colspan="4">出现该状态代码时，浏览器能够自动访问新的 URL，因此它是一个很有用的状态代码。注意：这个状态代码有时候可以和 301 替换使用。例如，如果浏览器错误地请求 http://host/~user（缺少了后面的斜杠），有的服务器返回 301，有的则返回 302。严格地说，我们只能假定只有当原来的请求是 GET 时浏览器才会自动重定向。请参见 307。</td>
        </tr>
        <tr>
            <td>303</td>
            <td>See Other</td>
            <td>观察别的部分</td>
            <td>类似于 301 / 302，不同之处在于，如果原来的请求是 POST，Location 头指定的重定向目标文档应该通过 GET 提取。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>304</td>
            <td>Not Modified</td>
            <td>未修改</td>
            <td>客户端有缓冲的文档并发出了一个条件性的请求（一般是提供 If-Modified-Since 头表示客户只想比指定日期更新的文档）。服务器告诉客户，原来缓冲的文档还可以继续使用。</td>
        </tr>
        <tr>
            <td>305</td>
            <td>Use Proxy</td>
            <td>使用代理</td>
            <td>客户请求的文档应该通过 Location 头所指明的代理服务器提取。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>306</td>
            <td>(Unused)</td>
            <td>-</td>
            <td>（在以前的规范中使用过，现在已经不再用了）</td>
        </tr>
        <tr>
            <td>307</td>
            <td>Temporary Redirect</td>
            <td>临时重定向</td>
            <td>和 302（Found）相同。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td colspan="4">许多浏览器会错误地响应 302 应答进行重定向，即使原来的请求是 POST，即使它实际上只能在 POST 请求的应答是 303 时才能重定向。由于这个原因，HTTP 1.1 新增了 307，以便更加清楚地区分几个状态代码：当出现 303 应答时，浏览器可以跟随重定向的 GET 和 POST 请求；如果是 307 应答，则浏览器只能跟随对 GET 请求的重定向。</td>
        </tr>
        <tr class="classLine">
            <td>-4xx</td>
            <td>Client Error</td>
            <td>客户端错误</td>
            <td>发生错误，客户端似乎有问题。例如，客户端请求不存在的页面，客户端未提供有效的身份验证信息。</td>
        </tr>
        <tr>
            <td>400</td>
            <td>Bad Request</td>
            <td>错误请求</td>
            <td>请求出现语法错误。</td>
        </tr>
        <tr>
            <td>401</td>
            <td>Unauthorized</td>
            <td>未授权</td>
            <td>客户试图未经授权访问受密码保护的页面。应答中会包含一个 WWW-Authenticate 头，浏览器据此显示 用户名字 / 密码 对话框，然后在填写合适的 Authorization 头后再次发出请求。</td>
        </tr>
        <tr>
            <td>402</td>
            <td>(Payment Required)</td>
            <td>-</td>
            <td>（留作将来使用）</td>
        </tr>
        <tr>
            <td>403</td>
            <td>Forbidden</td>
            <td>禁用</td>
            <td>资源不可用。服务器理解客户的请求，但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。</td>
        </tr>
        <tr>
            <td>404</td>
            <td>Not Found</td>
            <td>未找到</td>
            <td>无法找到指定位置的资源。这也是一个常用的应答。</td>
        </tr>
        <tr>
            <td>405</td>
            <td>Method Not Allowed</td>
            <td>不允许的方式</td>
            <td>请求方法（GET、POST、HEAD、DELETE、PUT、TRACE 等）对指定的资源不适用。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>406</td>
            <td>Not Acceptable</td>
            <td>不接受</td>
            <td>指定的资源已经找到，但它的 MIME 类型和客户在 Accpet 头中所指定的不兼容。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>407</td>
            <td>Proxy Authentication Required</td>
            <td>需要代理验证</td>
            <td>类似于 401，表示客户必须先经过代理服务器的授权。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>408</td>
            <td>Request Timeout</td>
            <td>请求超时</td>
            <td>在服务器许可的等待时间内，客户一直没有发出任何请求。客户可以在以后重复同一请求。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>409</td>
            <td>Conflict</td>
            <td>冲突</td>
            <td>通常和 PUT 请求有关。由于请求和资源的当前状态相冲突，因此请求不能成功。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>410</td>
            <td>Gone</td>
            <td>不存在</td>
            <td>所请求的文档已经不再可用，而且服务器不知道应该重定向到哪一个地址。它和 404 的不同在于，返回 407 表示文档永久地离开了指定的位置，而 404 表示由于未知的原因文档不可用。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>411</td>
            <td>Length Required</td>
            <td>需要长度</td>
            <td>服务器不能处理请求，除非客户发送一个 Content-Length 头。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>412</td>
            <td>Precondition Failed</td>
            <td>预处理失败</td>
            <td>在请求头中指定的一些前提条件时失败。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>413</td>
            <td>Request Entity Too Large</td>
            <td>请求实体过大</td>
            <td>目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求，则应该提供一个 Retry-After 头。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>414</td>
            <td>Request URI Too Long</td>
            <td>请求 URI 过长</td>
            <td>URI 太长。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>415</td>
            <td>Unsupported Media Type</td>
            <td>不支持的媒体类型</td>
            <td>请求所带的附件格式的类型让服务器不知道如何处理。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>416</td>
            <td>Requested Range Not Satisfiable</td>
            <td>请求范围无法满足</td>
            <td>服务器不能满足客户在请求中指定的 Range 头。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>417</td>
            <td>Expectation Failed</td>
            <td>期望失败</td>
            <td>在请求报头区域给出的预料不可能被服务器实现，或者，如果服务器是代理服务器，服务器有请求不可能被下一个服务器实现的模糊的证据。</td>
        </tr>
        <tr class="classLine">
            <td>-5xx</td>
            <td>Server Error</td>
            <td>服务器错误</td>
            <td>服务器由于遇到错误而不能完成该请求。</td>
        </tr>
        <tr>
            <td>500</td>
            <td>Internal Server Error</td>
            <td>服务器内部错误</td>
            <td>服务器遇到了意料不到的情况，不能完成客户的请求。</td>
        </tr>
        <tr>
            <td>501</td>
            <td>Not Implemented</td>
            <td>不能实现</td>
            <td>服务器不支持实现请求所需要的功能。例如，客户发出了一个服务器不支持的 PUT 请求。</td>
        </tr>
        <tr>
            <td>502</td>
            <td>Bad Gateway</td>
            <td>错误网关</td>
            <td>服务器作为网关或者代理时，为了完成请求访问下一个服务器，但该服务器返回了非法的应答。</td>
        </tr>
        <tr>
            <td>503</td>
            <td>Service Unavailable</td>
            <td>服务不能实现</td>
            <td>服务器由于维护或者负载过重未能应答。例如，Servlet 可能在数据库连接池已满的情况下返回 503。服务器返回 503 时可以提供一个 Retry-After 头。</td>
        </tr>
        <tr>
            <td>504</td>
            <td>Gateway Timeout</td>
            <td>网关超时</td>
            <td>由作为代理或网关的服务器使用，表示不能及时地从远程服务器获得应答。（HTTP 1.1 新）</td>
        </tr>
        <tr>
            <td>505</td>
            <td>HTTP Version Not Supported</td>
            <td>HTTP 版本不支持</td>
            <td>服务器不支持请求中所指明的 HTTP 版本。（HTTP 1.1 新）</td>
        </tr>
    </tbody>
</table>
<br />
</div><img src ="http://www.blogjava.net/shisanfeng/aggbug/190567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-03 11:06 <a href="http://www.blogjava.net/shisanfeng/articles/190567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Content-Type 文件类型表</title><link>http://www.blogjava.net/shisanfeng/articles/190555.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Thu, 03 Apr 2008 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/190555.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/190555.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/190555.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/190555.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/190555.html</trackback:ping><description><![CDATA[<style type="text/css">
table.TableStyle{background-color:#999999}
table.TableStyle{margin:0px;cursor:default;font-size:12px;font-family:Georgia;color:#000000;text-decoration:none;vertical-align:middle}
table.TableStyle thead tr{background-color:#cccccc}
table.TableStyle tbody tr{background-color:#ffffff}
table.TableStyle tbody tr.ClassLine{background-color:#eeeeee}
table.TableStyle tbody tr.ClassLine td{color:#0000ff}
.TextBold{font-weight:bold}
</style>
<style type="text/css">
div.item *{margin:0px;padding:0px;border:0px;cursor:default;font-family:Georgia;color:#000000;font-size:12px;text-decoration:none}
div.item table{background-color:#999999}
div.item table tr td{padding:2px}
div.item table thead tr{background-color:#cccccc}
div.item table tbody tr{background-color:#ffffff}
div.item table tbody tr.classLine{background-color:#eeeeee}
div.item table tbody tr.classLine td{color:#0000ff}
</style>
<div class="item"><br />
<table cellspacing="1">
    <thead>
        <tr>
            <td width="45%"><strong>Description of Data Content</strong></td>
            <td width="23%"><strong>Typical Filename Extensions</strong></td>
            <td width="32%"><strong>MIME type/subtype</strong></td>
        </tr>
    </thead>
    <tbody>
        <tr class="classLine">
            <td colspan="3">Text and Text-Related Types</td>
        </tr>
        <tr>
            <td>HTML text data (RFC 1866)</td>
            <td>html htm</td>
            <td>text/html</td>
        </tr>
        <tr>
            <td>Plain text: documents; program listings</td>
            <td>txt c c++ pl cc h</td>
            <td>text/plain</td>
        </tr>
        <tr>
            <td>Richtext (obsolete - replaced by text/enriched)</td>
            <td>&nbsp;</td>
            <td>text/richtext</td>
        </tr>
        <tr>
            <td>Structure enhanced text</td>
            <td>(etx?)</td>
            <td>text/x-setext</td>
        </tr>
        <tr>
            <td>Enriched text markup (RFC 1896)</td>
            <td>&nbsp;</td>
            <td>text/enriched</td>
        </tr>
        <tr>
            <td>Tab-separated values (tabular)</td>
            <td>(tsv?)</td>
            <td>text/tab-separated-values</td>
        </tr>
        <tr>
            <td>SGML documents (RFC 1874)</td>
            <td>&nbsp;</td>
            <td>text/sgml</td>
        </tr>
        <tr>
            <td>Speech synthesis data (MVP Solutions)</td>
            <td>talk</td>
            <td>text/x-speech</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Document Stylesheet Types</td>
        </tr>
        <tr>
            <td>Cascading Stylesheets</td>
            <td>css</td>
            <td>text/css</td>
        </tr>
        <tr>
            <td>DSSSL-online stylesheets</td>
            <td>&nbsp;</td>
            <td>application/dsssl (proposed)</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Image Types</td>
        </tr>
        <tr>
            <td>GIF</td>
            <td>gif</td>
            <td>image/gif</td>
        </tr>
        <tr>
            <td>X-Windows bitmap (b/w)</td>
            <td>xbm</td>
            <td>image/x-xbitmap</td>
        </tr>
        <tr>
            <td>X-Windows pixelmap (8-bit color)</td>
            <td>xpm</td>
            <td>image/x-xpixmap</td>
        </tr>
        <tr>
            <td>Portable Network Graphics</td>
            <td>png</td>
            <td>image/x-png</td>
        </tr>
        <tr>
            <td>Image Exchange Format (RFC 1314)</td>
            <td>ief</td>
            <td>image/ief</td>
        </tr>
        <tr>
            <td>JPEG</td>
            <td>jpeg jpg jpe</td>
            <td>image/jpeg</td>
        </tr>
        <tr>
            <td>TIFF</td>
            <td>tiff tif</td>
            <td>image/tiff</td>
        </tr>
        <tr>
            <td>RGB</td>
            <td>rgb</td>
            <td>image/rgb</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>image/x-rgb</td>
        </tr>
        <tr>
            <td>Group III Fax (RFC 1494)</td>
            <td>g3f</td>
            <td>image/g3fax</td>
        </tr>
        <tr>
            <td>X Windowdump format</td>
            <td>xwd</td>
            <td>image/x-xwindowdump</td>
        </tr>
        <tr>
            <td>Macintosh PICT format</td>
            <td>pict</td>
            <td>image/x-pict</td>
        </tr>
        <tr>
            <td>PPM (UNIX PPM package)</td>
            <td>ppm</td>
            <td>image/x-portable-pixmap</td>
        </tr>
        <tr>
            <td>PGM (UNIX PPM package)</td>
            <td>pgm</td>
            <td>image/x-portable-graymap</td>
        </tr>
        <tr>
            <td>PBM (UNIX PPM package)</td>
            <td>pbm</td>
            <td>image/x-portable-bitmap</td>
        </tr>
        <tr>
            <td>PNM (UNIX PPM package)</td>
            <td>pnm</td>
            <td>image/x-portable-anymap</td>
        </tr>
        <tr>
            <td>Microsoft Windows bitmap</td>
            <td>bmp</td>
            <td>image/x-ms-bmp</td>
        </tr>
        <tr>
            <td>CMU raster</td>
            <td>ras</td>
            <td>image/x-cmu-raster</td>
        </tr>
        <tr>
            <td>Kodak Photo-CD</td>
            <td>pcd</td>
            <td>image/x-photo-cd</td>
        </tr>
        <tr>
            <td>Computer Graphics Metafile</td>
            <td>cgm</td>
            <td>image/cgm</td>
        </tr>
        <tr>
            <td>North Am. Presentation Layer Protocol</td>
            <td>&nbsp;</td>
            <td>image/naplps</td>
        </tr>
        <tr>
            <td>CALS Type 1 or 2</td>
            <td>mil cal</td>
            <td>image/x-cals</td>
        </tr>
        <tr>
            <td>Fractal Image Format (Iterated Systems)</td>
            <td>fif</td>
            <td>image/fif</td>
        </tr>
        <tr>
            <td>QuickSilver active image (Micrografx)</td>
            <td>dsf</td>
            <td>image/x-mgx-dsf</td>
        </tr>
        <tr>
            <td>CMX vector image (Corel)</td>
            <td>cmx</td>
            <td>image/x-cmx</td>
        </tr>
        <tr>
            <td>Wavelet-compressed (Summus)</td>
            <td>wi</td>
            <td>image/wavelet</td>
        </tr>
        <tr>
            <td>AutoCad Drawing (SoftSource)</td>
            <td>dwg</td>
            <td>image/vnd.dwg</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>image/x-dwg</td>
        </tr>
        <tr>
            <td>AutoCad DXF file (SoftSource)</td>
            <td>dxf</td>
            <td>image/vnd.dxf</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>image/x-dxf </td>
        </tr>
        <tr>
            <td>Simple Vector Format (SoftSource)</td>
            <td>svf</td>
            <td>image/vnd.svf</td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td>also vector/x-svf</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Audio/Voice/Music Related Types</td>
        </tr>
        <tr>
            <td>"basic"audio - 8-bit u-law PCM</td>
            <td>au snd</td>
            <td>audio/basic</td>
        </tr>
        <tr>
            <td>Macintosh audio format (AIpple)</td>
            <td>aif aiff aifc</td>
            <td>audio/x-aiff</td>
        </tr>
        <tr>
            <td>Microsoft audio</td>
            <td>wav</td>
            <td>audio/x-wav</td>
        </tr>
        <tr>
            <td>MPEG audio</td>
            <td>mpa abs mpega</td>
            <td>audio/x-mpeg</td>
        </tr>
        <tr>
            <td>MPEG-2 audio</td>
            <td>mp2a mpa2</td>
            <td>audio/x-mpeg-2</td>
        </tr>
        <tr>
            <td>compressed speech (Echo Speech Corp.)</td>
            <td>es</td>
            <td>audio/echospeech</td>
        </tr>
        <tr>
            <td>Toolvox speech audio (Voxware)</td>
            <td>vox</td>
            <td>audio/voxware</td>
        </tr>
        <tr>
            <td>RapidTransit compressed audio (Fast Man)</td>
            <td>lcc</td>
            <td>application/fastman</td>
        </tr>
        <tr>
            <td>Realaudio (Progressive Networks)</td>
            <td>ra ram</td>
            <td>application/x-pn-realaudio</td>
        </tr>
        <tr>
            <td>NIFF music notation data format</td>
            <td>&nbsp;</td>
            <td>application/vnd.music-niff</td>
        </tr>
        <tr>
            <td>MIDI music data</td>
            <td>mmid</td>
            <td>x-music/x-midi</td>
        </tr>
        <tr>
            <td>Koan music data (SSeyo)</td>
            <td>skp</td>
            <td>application/vnd.koan</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>application/x-koan</td>
        </tr>
        <tr>
            <td>Speech synthesis data (MVP Solutions)</td>
            <td>talk</td>
            <td>text/x-speech</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Video Types</td>
        </tr>
        <tr>
            <td>MPEG video</td>
            <td>mpeg mpg mpe</td>
            <td>video/mpeg</td>
        </tr>
        <tr>
            <td>MPEG-2 video</td>
            <td>mpv2 mp2v</td>
            <td>video/mpeg-2</td>
        </tr>
        <tr>
            <td>Macintosh Quicktime</td>
            <td>qt mov</td>
            <td>video/quicktime</td>
        </tr>
        <tr>
            <td>Microsoft video</td>
            <td>avi</td>
            <td>video/x-msvideo</td>
        </tr>
        <tr>
            <td>SGI Movie format</td>
            <td>movie</td>
            <td>video/x-sgi-movie</td>
        </tr>
        <tr>
            <td>VDOlive streaming video (VDOnet)</td>
            <td>vdo</td>
            <td>video/vdo</td>
        </tr>
        <tr>
            <td>Vivo streaming video (Vivo software)</td>
            <td>viv</td>
            <td>video/vnd.vivo</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>video/vivo</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Special HTTP/Web Application Types</td>
        </tr>
        <tr>
            <td>Proxy autoconfiguration (Netscape browsers)</td>
            <td>pac</td>
            <td>application/x-ns-proxy-autoconfig</td>
        </tr>
        <tr>
            <td>See Chapter 6</td>
            <td>&nbsp;</td>
            <td>application/x-www-form-urlencoded</td>
        </tr>
        <tr>
            <td>See Chapter 9</td>
            <td>&nbsp;</td>
            <td>application/x-www-local-exec</td>
        </tr>
        <tr>
            <td>See Chapter 9 (Netscape extension)</td>
            <td>&nbsp;</td>
            <td>multipart/x-mixed-replace</td>
        </tr>
        <tr>
            <td>See Chapter 9 and Appendix B</td>
            <td>&nbsp;</td>
            <td>multipart/form-data</td>
        </tr>
        <tr>
            <td>Netscape Cooltalk chat data (Netscape)</td>
            <td>ice</td>
            <td>x-conference/x-cooltalk</td>
        </tr>
        <tr>
            <td>Interactive chat (Ichat)</td>
            <td>&nbsp;</td>
            <td>application/x-chat</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Application Types</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Text-Related</td>
        </tr>
        <tr>
            <td>PostScript</td>
            <td>ai eps ps</td>
            <td>application/postscript</td>
        </tr>
        <tr>
            <td>Microsoft Rich Text Format</td>
            <td>rtf</td>
            <td>application/rtf</td>
        </tr>
        <tr>
            <td>Adobe Acrobat PDF</td>
            <td>pdf</td>
            <td>application/pdf</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>application/x-pdf</td>
        </tr>
        <tr>
            <td>Maker Interchange Format (FrameMaker)</td>
            <td>mif</td>
            <td>application/vnd.mif</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>application/x-mif</td>
        </tr>
        <tr>
            <td>Troff document</td>
            <td>t tr roff</td>
            <td>application/x-troff</td>
        </tr>
        <tr>
            <td>Troff document with MAN macros</td>
            <td>man</td>
            <td>application/x-troff-man</td>
        </tr>
        <tr>
            <td>Troff document with ME macros</td>
            <td>me</td>
            <td>application/x-troff-me</td>
        </tr>
        <tr>
            <td>Troff document with MS macros</td>
            <td>ms</td>
            <td>application/x-troff-ms</td>
        </tr>
        <tr>
            <td>LaTeX document</td>
            <td>latex</td>
            <td>application/x-latex</td>
        </tr>
        <tr>
            <td>Tex/LateX document</td>
            <td>tex</td>
            <td>application/x-tex</td>
        </tr>
        <tr>
            <td>GNU TexInfo document</td>
            <td>texinfo texi</td>
            <td>application/x-texinfo</td>
        </tr>
        <tr>
            <td>TeX dvi format</td>
            <td>dvi</td>
            <td>application/x-dvi</td>
        </tr>
        <tr>
            <td>MacWrite document</td>
            <td>??</td>
            <td>application/macwriteii</td>
        </tr>
        <tr>
            <td>MS word document</td>
            <td>??</td>
            <td>application/msword</td>
        </tr>
        <tr>
            <td>WordPerfect 5.1 document</td>
            <td>??</td>
            <td>application/wordperfect5.1</td>
        </tr>
        <tr>
            <td>SGML application (RFC 1874)</td>
            <td>&nbsp;</td>
            <td>application/sgml</td>
        </tr>
        <tr>
            <td>Office Document Architecture</td>
            <td>oda</td>
            <td>application/oda</td>
        </tr>
        <tr>
            <td>Envoy Document</td>
            <td>evy</td>
            <td>application/envoy</td>
        </tr>
        <tr>
            <td>Wang Info. Tranfer Format (Wang)</td>
            <td>&nbsp;</td>
            <td>application/wita</td>
        </tr>
        <tr>
            <td>DEC Document Transfer Format (DEC)</td>
            <td>&nbsp;</td>
            <td>application/dec-dx</td>
        </tr>
        <tr>
            <td>IBM Document Content Architecture (IBM)</td>
            <td>&nbsp;</td>
            <td>application/dca-rft</td>
        </tr>
        <tr>
            <td>CommonGround Digital Paper (No Hands Software)</td>
            <td>&nbsp;</td>
            <td>application/commonground</td>
        </tr>
        <tr>
            <td>FrameMaker Documents (Frame)</td>
            <td>doc fm frm frame</td>
            <td>application/vnd.framemaker</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>application/x-framemaker</td>
        </tr>
        <tr>
            <td>Remote printing at arbitrary printers (RFC 1486)</td>
            <td></td>
            <td>application/remote-printing</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Archive/Compressed Archives</td>
        </tr>
        <tr>
            <td>Gnu tar format</td>
            <td>gtar</td>
            <td>application/x-gtar</td>
        </tr>
        <tr>
            <td>4.3BSD tar format</td>
            <td>tar</td>
            <td>application/x-tar</td>
        </tr>
        <tr>
            <td>POSIX tar format</td>
            <td>ustar</td>
            <td>application/x-ustar</td>
        </tr>
        <tr>
            <td>Old CPIO format</td>
            <td>bcpio</td>
            <td>application/x-bcpio</td>
        </tr>
        <tr>
            <td>POSIX CPIO format</td>
            <td>cpio</td>
            <td>application/x-cpio</td>
        </tr>
        <tr>
            <td>UNIX sh shell archive</td>
            <td>shar</td>
            <td>application/x-shar</td>
        </tr>
        <tr>
            <td>DOS/PC - Pkzipped archive</td>
            <td>zip</td>
            <td>application/zip</td>
        </tr>
        <tr>
            <td>Macintosh Binhexed archive</td>
            <td>hqx</td>
            <td>application/mac-binhex40</td>
        </tr>
        <tr>
            <td>Macintosh Stuffit Archive</td>
            <td>sit sea</td>
            <td>application/x-stuffit</td>
        </tr>
        <tr>
            <td>Fractal Image Format</td>
            <td>fif</td>
            <td>application/fractals</td>
        </tr>
        <tr>
            <td>Binary, UUencoded</td>
            <td>bin uu</td>
            <td>application/octet-stream</td>
        </tr>
        <tr>
            <td>PC executable</td>
            <td>exe</td>
            <td>application/octet-stream</td>
        </tr>
        <tr>
            <td>WAIS "sources"</td>
            <td>src wsrc</td>
            <td>application/x-wais-source</td>
        </tr>
        <tr>
            <td>NCSA HDF data format</td>
            <td>hdf</td>
            <td>application/hdf</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Downloadable Program/Scripts</td>
        </tr>
        <tr>
            <td>Javascript program</td>
            <td>js ls mocha</td>
            <td>text/javascript</td>
        </tr>
        <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>application/x-javascript</td>
        </tr>
        <tr>
            <td>VBScript program</td>
            <td>&nbsp;</td>
            <td>text/vbscript</td>
        </tr>
        <tr>
            <td>UNIX bourne shell program</td>
            <td>sh</td>
            <td>application/x-sh</td>
        </tr>
        <tr>
            <td>UNIX c-shell program</td>
            <td>csh</td>
            <td>application/x-csh</td>
        </tr>
        <tr>
            <td>Perl program</td>
            <td>pl</td>
            <td>application/x-perl</td>
        </tr>
        <tr>
            <td>Tcl (Tool Control Language) program</td>
            <td>tcl</td>
            <td>application/x-tcl</td>
        </tr>
        <tr>
            <td>Atomicmail program scripts (obsolete)</td>
            <td>&nbsp;</td>
            <td>application/atomicmail</td>
        </tr>
        <tr>
            <td>Slate documents - executable enclosures (BBN)</td>
            <td>&nbsp;</td>
            <td>application/slate</td>
        </tr>
        <tr>
            <td>Undefined binary data (often executable progs)</td>
            <td>&nbsp;</td>
            <td>application/octet-stream</td>
        </tr>
        <tr>
            <td>RISC OS Executable programs (ANT Limited)</td>
            <td>&nbsp;</td>
            <td>application/riscos</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Animation/Multimedia</td>
        </tr>
        <tr>
            <td>Andrew Toolkit inset</td>
            <td>&nbsp;</td>
            <td>application/andrew-inset</td>
        </tr>
        <tr>
            <td>FutureSplash vector animation (FutureWave)</td>
            <td>spl</td>
            <td>application/futuresplash</td>
        </tr>
        <tr>
            <td>mBED multimedia data (mBED)</td>
            <td>mbd</td>
            <td>application/mbedlet</td>
        </tr>
        <tr>
            <td>Macromedia Shockwave (Macromedia)</td>
            <td>&nbsp;</td>
            <td>application/x-director</td>
        </tr>
        <tr>
            <td>Sizzler real-time video/animation</td>
            <td>&nbsp;</td>
            <td>application/x-sprite</td>
        </tr>
        <tr>
            <td>PowerMedia multimedia (RadMedia)</td>
            <td>rad</td>
            <td>application/x-rad-powermedia</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Presentation</td>
        </tr>
        <tr>
            <td>PowerPoint presentation (Microsoft)</td>
            <td>ppz</td>
            <td>application/mspowerpoint</td>
        </tr>
        <tr>
            <td>PointPlus presentation data (Net Scene)</td>
            <td>css</td>
            <td>application/x-pointplus</td>
        </tr>
        <tr>
            <td>ASAP WordPower (Software Publishing Corp.)</td>
            <td>asp</td>
            <td>application/x-asap</td>
        </tr>
        <tr>
            <td>Astound Web Player multimedia data (GoldDisk)</td>
            <td>asn</td>
            <td>application/astound</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Special Embedded Object</td>
        </tr>
        <tr>
            <td>OLE script e.g. Visual Basic (Ncompass)</td>
            <td>axs</td>
            <td>application/x-olescript</td>
        </tr>
        <tr>
            <td>OLE Object (Microsoft/NCompass)</td>
            <td>ods</td>
            <td>application/x-oleobject</td>
        </tr>
        <tr>
            <td>OpenScape OLE/OCX objects (Business@Web)</td>
            <td>opp</td>
            <td>x-form/x-openscape</td>
        </tr>
        <tr>
            <td>Visual Basic objects (Amara)</td>
            <td>wba</td>
            <td>application/x-webbasic</td>
        </tr>
        <tr>
            <td>Specialized data entry forms (Alpha Software)</td>
            <td>frm</td>
            <td>application/x-alpha-form</td>
        </tr>
        <tr>
            <td>client-server objects (Wayfarer Communications)</td>
            <td>wfx</td>
            <td>x-script/x-wfxclient</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">General Applications</td>
        </tr>
        <tr>
            <td>Undefined binary data (often executable progs)</td>
            <td></td>
            <td>application/octet-stream</td>
        </tr>
        <tr>
            <td>CALS (U.S. D.O.D data format - RFC 1895)</td>
            <td></td>
            <td>application/cals-1840</td>
        </tr>
        <tr>
            <td>Pointcast news data (Pointcast)</td>
            <td>pcn</td>
            <td>application/x-pcn</td>
        </tr>
        <tr>
            <td>Excel spreadsheet (Microsoft)</td>
            <td></td>
            <td>application/vnd.ms-excel</td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td>application/x-msexcel</td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td>application/ms-excel</td>
        </tr>
        <tr>
            <td>PowerPoint (Microsoft)</td>
            <td>ppt</td>
            <td>application/vnd.ms-powerpoint</td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td>application/ms-powerpoint</td>
        </tr>
        <tr>
            <td>Microsoft Project (Microsoft)</td>
            <td></td>
            <td>application/vnd.ms-project</td>
        </tr>
        <tr>
            <td>Works data (Microsoft)</td>
            <td></td>
            <td>application/vnd.ms-works</td>
        </tr>
        <tr>
            <td>MAPI data (Microsoft)</td>
            <td></td>
            <td>application/vnd.ms-tnef</td>
        </tr>
        <tr>
            <td>Artgallery data (Microsoft)</td>
            <td></td>
            <td>application/vnd.artgalry</td>
        </tr>
        <tr>
            <td>SourceView document (Dataware Electronics)</td>
            <td>svd</td>
            <td>application/vnd.svd</td>
        </tr>
        <tr>
            <td>Truedoc (Bitstream)</td>
            <td></td>
            <td>application/vnd.truedoc</td>
        </tr>
        <tr>
            <td>Net Install - software install (20/20 Software)</td>
            <td>ins</td>
            <td>application/x-net-install</td>
        </tr>
        <tr>
            <td>Carbon Copy - remote control/access (Microcom)</td>
            <td>ccv</td>
            <td>application/ccv</td>
        </tr>
        <tr>
            <td>Spreadsheets (Visual Components)</td>
            <td>vts</td>
            <td>workbook/formulaone</td>
        </tr>
        <tr>
            <td>Cybercash digital money (Cybercash)</td>
            <td></td>
            <td>application/cybercash</td>
        </tr>
        <tr>
            <td>Format for sending generic Macintosh files</td>
            <td></td>
            <td>application/applefile</td>
        </tr>
        <tr>
            <td>Active message -- connect to active mail app.</td>
            <td></td>
            <td>application/activemessage</td>
        </tr>
        <tr>
            <td>X.400 mail message body part (RFC 1494)</td>
            <td></td>
            <td>application/x400-bp</td>
        </tr>
        <tr>
            <td>USENET news message id (RFC 1036)</td>
            <td></td>
            <td>application/news-message-id</td>
        </tr>
        <tr>
            <td>USENET news message (RFC 1036)</td>
            <td></td>
            <td>application/news-transmission</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Multipart Types (mostly email)</td>
        </tr>
        <tr>
            <td>Messages with multiple parts</td>
            <td></td>
            <td>multipart/mixed</td>
        </tr>
        <tr>
            <td>Messages with multiple, alternative parts</td>
            <td></td>
            <td>multipart/alternative</td>
        </tr>
        <tr>
            <td>Message with multiple, related parts</td>
            <td></td>
            <td>multipart/related</td>
        </tr>
        <tr>
            <td>Multiple parts are digests</td>
            <td></td>
            <td>multipart/digest</td>
        </tr>
        <tr>
            <td>For reporting of email status (admin.)</td>
            <td></td>
            <td>multipart/report</td>
        </tr>
        <tr>
            <td>Order of parts does not matter</td>
            <td></td>
            <td>multipart/parallel</td>
        </tr>
        <tr>
            <td>Macintosh file data</td>
            <td></td>
            <td>multipart/appledouble</td>
        </tr>
        <tr>
            <td>Aggregate messages; descriptor as header</td>
            <td></td>
            <td>multipart/header-set</td>
        </tr>
        <tr>
            <td>Container for voice-mail</td>
            <td></td>
            <td>multipart/voice-message</td>
        </tr>
        <tr>
            <td>HTML FORM data (see Ch. 9 and App. B)</td>
            <td></td>
            <td>multipart/form-data</td>
        </tr>
        <tr>
            <td>Infinite multiparts - See Chapter 9 (Netscape)</td>
            <td></td>
            <td>multipart/x-mixed-replace</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Message Types (mostly email)</td>
        </tr>
        <tr>
            <td>MIME message</td>
            <td></td>
            <td>message/rfc822</td>
        </tr>
        <tr>
            <td>Partial message</td>
            <td></td>
            <td>message/partial</td>
        </tr>
        <tr>
            <td>Message containing external references</td>
            <td></td>
            <td>message/external-body</td>
        </tr>
        <tr>
            <td>Message containing USENET news</td>
            <td></td>
            <td>message/news</td>
        </tr>
        <tr>
            <td>HTTP message</td>
            <td></td>
            <td>message/http</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">2D/3D Data/Virtual Reality Types</td>
        </tr>
        <tr>
            <td>VRML data file</td>
            <td>wrl vrml</td>
            <td>x-world/x-vrml (changing to model/vrml)</td>
        </tr>
        <tr>
            <td>WIRL - VRML data (VREAM)</td>
            <td>vrw</td>
            <td>x-world/x-vream</td>
        </tr>
        <tr>
            <td>Play3D 3d scene data (Play3D)</td>
            <td>p3d</td>
            <td>application/x-p3d</td>
        </tr>
        <tr>
            <td>Viscape Interactive 3d world data (Superscape)</td>
            <td>svr</td>
            <td>x-world/x-svr</td>
        </tr>
        <tr>
            <td>WebActive 3d data (Plastic Thought)</td>
            <td>wvr</td>
            <td>x-world/x-wvr</td>
        </tr>
        <tr>
            <td>QuickDraw3D scene data (Apple)</td>
            <td>3dmf</td>
            <td>x-world/x-3dmf</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Scientific/Math/CAD Types</td>
        </tr>
        <tr>
            <td>Chemical types - to communicate information about chemical models</td>
            <td></td>
            <td>chemical/* (several subtypes)</td>
        </tr>
        <tr>
            <td>Mathematica notebook</td>
            <td>ma</td>
            <td>application/mathematica</td>
        </tr>
        <tr>
            <td>Computational meshes for numerical simulations</td>
            <td>msh</td>
            <td>x-model/x-mesh(evolving to model/mesh)</td>
        </tr>
        <tr>
            <td>Vis5D 5-dimensional data</td>
            <td>v5d</td>
            <td>application/vis5d</td>
        </tr>
        <tr>
            <td>IGES models - CAD/CAM (CGM) data</td>
            <td>igs</td>
            <td>application/iges(evolving to model/iges?)</td>
        </tr>
        <tr>
            <td>Autocad WHIP vector drawings</td>
            <td>dwf</td>
            <td>drawing/x-dwf</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Largely Platform-Specific Types</td>
        </tr>
        <tr class="classLine">
            <td colspan="3">Silicon Graphics Specific Types</td>
        </tr>
        <tr>
            <td>Showcase Presentations</td>
            <td>showcase slides sc sho show</td>
            <td>application/x-showcase</td>
        </tr>
        <tr>
            <td>Insight Manual pages</td>
            <td>ins insight</td>
            <td>application/x-insight</td>
        </tr>
        <tr>
            <td>Iris Annotator data</td>
            <td>ano</td>
            <td>application/x-annotator</td>
        </tr>
        <tr>
            <td>Directory Viewer</td>
            <td>dir</td>
            <td>application/x-dirview</td>
        </tr>
        <tr>
            <td>Software License</td>
            <td>lic</td>
            <td>application/x-enterlicense</td>
        </tr>
        <tr>
            <td>Fax manager file</td>
            <td>faxmgr</td>
            <td>application/x-fax-manager</td>
        </tr>
        <tr>
            <td>Fax job data file</td>
            <td>faxmgrjob</td>
            <td>application/x-fax-manager-job</td>
        </tr>
        <tr>
            <td>IconBook data</td>
            <td>icnbk</td>
            <td>application/x-iconbook</td>
        </tr>
        <tr>
            <td>?</td>
            <td>wb</td>
            <td>application/x-inpview</td>
        </tr>
        <tr>
            <td>Installable software in 'inst' format</td>
            <td>inst</td>
            <td>application/x-install</td>
        </tr>
        <tr>
            <td>Mail folder</td>
            <td>mail</td>
            <td>application/x-mailfolder</td>
        </tr>
        <tr>
            <td>?</td>
            <td>pp ppages</td>
            <td>application/x-ppages</td>
        </tr>
        <tr>
            <td>Data for printer (via lpr)</td>
            <td>sgi-lpr</td>
            <td>application/x-sgi-lpr</td>
        </tr>
        <tr>
            <td>Software in 'tardist' format</td>
            <td>tardist</td>
            <td>application/x-tardist</td>
        </tr>
        <tr>
            <td>Software in compressed 'tardist' format</td>
            <td>ztardist</td>
            <td>application/x-ztardist</td>
        </tr>
        <tr>
            <td>WingZ spreadsheet</td>
            <td>wkz</td>
            <td>application/x-wingz</td>
        </tr>
        <tr>
            <td>Open Inventor 3-D scenes</td>
            <td>iv</td>
            <td>graphics/x-inventor</td>
        </tr>
    </tbody>
</table>
<br />
</div>
<img src ="http://www.blogjava.net/shisanfeng/aggbug/190555.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-03 10:41 <a href="http://www.blogjava.net/shisanfeng/articles/190555.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Microsoft ADO constants include file for VBScript</title><link>http://www.blogjava.net/shisanfeng/articles/190553.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Thu, 03 Apr 2008 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/190553.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/190553.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/190553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/190553.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/190553.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: div.item *{margin:0px;padding:0px;border:0px;cursor:default;font-family:Georgia;color:#000000;font-size:12px;text-decoration:none}div.item table{background-color:#999999}div.item table tr td{paddi...&nbsp;&nbsp;<a href='http://www.blogjava.net/shisanfeng/articles/190553.html'>阅读全文</a><img src ="http://www.blogjava.net/shisanfeng/aggbug/190553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-03 10:35 <a href="http://www.blogjava.net/shisanfeng/articles/190553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Microsoft ADO constants include file for JavaScript</title><link>http://www.blogjava.net/shisanfeng/articles/190549.html</link><dc:creator>龙震</dc:creator><author>龙震</author><pubDate>Thu, 03 Apr 2008 02:19:00 GMT</pubDate><guid>http://www.blogjava.net/shisanfeng/articles/190549.html</guid><wfw:comment>http://www.blogjava.net/shisanfeng/comments/190549.html</wfw:comment><comments>http://www.blogjava.net/shisanfeng/articles/190549.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/shisanfeng/comments/commentRss/190549.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/shisanfeng/services/trackbacks/190549.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: div.item *{margin:0px;padding:0px;border:0px;cursor:default;font-family:Georgia;color:#000000;font-size:12px;text-decoration:none}div.item table{background-color:#999999}div.item table tr td{paddi...&nbsp;&nbsp;<a href='http://www.blogjava.net/shisanfeng/articles/190549.html'>阅读全文</a><img src ="http://www.blogjava.net/shisanfeng/aggbug/190549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/shisanfeng/" target="_blank">龙震</a> 2008-04-03 10:19 <a href="http://www.blogjava.net/shisanfeng/articles/190549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>